我想使用jQuery & thickbox在每個窗體上使用'confirm'類做一個模式確認窗口。防止提交表單直到指定的按鈕被點擊(厚框對話框)
這裏的HTML標記:
<!-- The form below -->
<form id="myform" class="confirm" name="actionform" action="target.php">
<table>
<tr>
<td><input type="text" value="" placeholder="id" name="id" id="id"/></td>
<td><input type="text" value="" placeholder="title" name="title" id="title"/></td>
<td><input type="submit" value="Form elküldése"/></td>
</tr>
</table>
</form>
<!-- The modal box and it's content below, called with tb_show() function -->
<div id="myModalConfirm" style="display:none">
<div>
<p>Are you sure?</p>
<button id="yes">Yes, I'm sure</button><button id="cancel">No, cancel it</button>
</div>
</div>
所以問題:
模態對話框顯示和正常工作和取消按鈕的作品,但點擊按鈕#肯定不會提交表單,我認爲這是因爲preventDefault()函數。
這裏是jQuery的(我是從jquery.1.8.3 lib中工作,所以請關心兼容性)
$(document).ready(function(){
$('form.confirm').submit(function(e){
var form = $(this);
e.preventDefault();
tb_show("Megerősítés","#TB_inline?height=100&width=200&inlineId=myModalConfirm&modal=true",null);
$('button#yes').click(function(){
$(form).submit;
});
$('button#cancel').click(function(){
tb_remove();
return false;
});
})
});
====== |解決方案| =============================================== =============== 這對我來說可是結帳低於其他商品的評論:)
$('form.confirm').submit(function(e, submit){
if (!submit) e.preventDefault();
tb_show("Megerősítés","#TB_inline?height=100&width=200&inlineId=myModalConfirm&modal=true",null);
})
$('#yes').click(function(){
$('form.confirm').trigger('submit', [true]);
});
$('#cancel').click(function(){
tb_remove();
});
你試過'return true;'? – udidu 2013-02-20 17:02:38
是的,也是一堆回報的變化 – 2013-02-20 17:04:07