我在我的代码中使用jQuery .dialog()。 在对话框中我有表格。在对话框的确定按钮上,我想提交表单...但是它没有在ok上提交代码。我在对话框中写了标签。我写错了吗
<div id="dialog-form" title="Create new user">
<p class="validateTips">All form fields are required.</p>
<form id='form1' name='form1' action='next.php'>
<fieldset>
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
OK: function() {
//$( this ).dialog( "close" );
$('#form1').submit();
return true;
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
答案 0 :(得分:0)
刚刚测试过您的代码,它似乎对我来说很好。您的问题中发布的代码确实有一个拼写错误 - 打开页面时是否有任何javascript错误?
$('#dialog-form').dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
OK: function() {
//$(this).dialog('close');
$('#form1').submit();
return true;
},
Cancel: function() {
$(this).dialog('close');
}
},
close: function() {
allFields.val('').removeClass('ui-state-error');
}
});
答案 1 :(得分:0)
你的大括号中有一个错误的按钮声明。它应该是这样的:
buttons: {
OK: function() {
//$( this ).dialog( "close" );
$('#form1').submit();
return true;
}
,
Cancel: function() {
$( this ).dialog( "close" );
}
}
您在设置“取消”按钮之前关闭了按钮声明。
更新:自从我写这个答案以来,这个问题已在原帖中得到修复。
答案 2 :(得分:0)
我得到了答案...... 你不能把标签放在jQuery对话框中。 您必须将其放在页面上的其他位置,并隐藏必填字段。并在提交时,将对话框中的所有字段值放入窗体中的隐藏框中。然后它会工作