Я хотел бы сделать модальное окно подтверждения, используя jQuery и толстый ящик в каждой форме с классом «подтвердить».
Вот 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>
Итак, проблема:
Модальное диалоговое окно отображается и работает нормально, а кнопка отмены работает, но нажатие кнопки # yes не отправит форму, и я думаю, что это из-за функции preventDefault().
Вот jQuery (я работаю с библиотекой jquery.1.8.3, поэтому позаботьтесь о совместимости)
$(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;
? - person udidu   schedule 20.02.2013