var currentForm;
$("#confirm").dialog({
autoOpen: false,
title: "First we must ask you!",
resizable: false,
width:500,
height:190,
modal: true,
buttons: {
'Submit for God sake!': function() {
currentForm.submit();
},
Cancel: function() {
$(this).dialog('close');
}
}
});
$('.clientForm').submit(function(e){
currentForm = $(this);
$('#confirm').dialog('open');
return false;
});
您好。
我有一张表格,必须在确认后提交。要执行此操作,请使用ui-dialog方法。问题是,在ui对话框出现后,表单不想提交,访问者必须点击确认按钮。
当我查看代码时,似乎是正确的。
此处指向JSFiddle
的链接答案 0 :(得分:1)
由于表单提交事件中的此行return false;
,因此未发布。这导致表单不发布。
$('.clientForm').submit(function(e){
currentForm = $(this);
$('#confirm').dialog('open');
return false; // this line will always stop your form from posting
});
提交提交按钮ID并写下其点击事件:
<button id="go" type="submit">Go there</button>
jquery事件:
$('#go').click(function(e){
currentForm = $(this).closest("form");
$('#confirm').dialog('open');
return false;
});
另一种方法是制作按钮类型button
而不是submit
,这不会导致您的表单在点击时提交:
<button id="go" type="button">Go there</button>
和jquery:
$('#go').click(function(e){
currentForm = $(this).closest("form");
$('#confirm').dialog('open'); // no need to return false as button type is not submit
});
答案 1 :(得分:0)
除了$('.clientForm').submit(function(e){
之外,一切都是正确的。
将$('.clientForm').submit(function(e){
替换为$('.clientForm').click(function(e){
。这应该有用。