我有一个带有嵌套表单的jquery对话框,如下所示:
<!-- Store Location Dialog -->
<div id = "changeDialog">
<form id = "form" method = "post" action = "Default.aspx" \>
<input type = "text" id = "changeText" name = "changeLocation" />
<input type = "button" id = "changeStoreDialogSubmit" value = "" onclick = "dialogSubmitForm()"/>
</form>
</div>
单击按钮时可能会发生两个实例。一个实例需要页面加载,而另一个实例则不需要。我有非页面加载实例正常工作,但另一个不是。这是我的dialogSubmitForm()
方法:
function dialogSubmitForm() {
if (!placeHolderVisibility) {
$('#changeStoreDialogSubmit').submit();
}
else /
{
//Working code
}
}
这是对话框:
function createDialog() {
//Creates a new dialog
$('#changeDialog').dialog({
resizable: false,
title: '<span class="ui-icon ui-icon-home"></span> Enter Info',
});
}
当我测试页面时,我可以看到$('#changeStoreDialogSubmit').submit();
被点击,但是从来没有页面加载。为什么会这样?
答案 0 :(得分:0)
您需要在.submit()
上致电form
,而不是提交表单的按钮:
function dialogSubmitForm() {
if (!placeHolderVisibility) {
$('#form').submit();
}
else
{
//Working code
}
}
答案 1 :(得分:0)
submit()
方法只能在form
元素上调用。您的表单的ID为form
,因此您需要更改此内容:
$('#changeStoreDialogSubmit').submit();
对此:
$('#form').submit();
话虽如此,我认为您正在为您的应用程序使用ASP.NET,并且您确实需要确保没有嵌套的form
标记,因为默认情况下Web窗体将抛出{{1在你的页面上为你标记。