在我实现我的对话框作为警报措施后,用户确认提交而不是点击时直接提交,我的document.forms [0] .submit()不再起作用了。页面刷新,页面保持不变。在创建该对话框之前,一切都很完美。这有什么问题?
后:
<script>
//trigger dialog
$('#submitIter').click(function(){
$("#dialog-submit").dialog("open");
return false
});
$("#dialog-submit").dialog({
autoOpen: false,
resizable: false,
height: 200,
width: 200,
modal: true,
buttons: {
"Proceed": function(){
//submit after user clicks proceed cannot seem to work
document.forms[0].submit();
$(this).dialog("close");
}
}
});
</script>
<form action="{{ request.path }}" method="post" enctype="multipart/form-data">
<input type="image" src="images/submit.png" id="submitIter">
</form>
在:
<script> document.forms[0].submit() </script>
答案 0 :(得分:1)
我认为你在这之前添加了一些表单,尝试编写 document.forms [1] .submit(); 无论如何,因为我可以看到你使用jQuery,所以你可以这样写:
<script>
//trigger dialog
$('#submitIter').click(function(){
$("#dialog-submit").dialog("open");
return false
});
$("#dialog-submit").dialog({
autoOpen: false,
resizable: false,
height: 200,
width: 200,
modal: true,
buttons: {
"Proceed": function(){
//submit after user clicks proceed cannot seem to work
$('#form_for_submit').submit();
$(this).dialog("close");
}
}
});
</script>
<form id="form_for_submit" action="{{ request.path }}" method="post" enctype="multipart/form-data">
<input type="image" src="images/submit.png" id="submitIter">
</form>
答案 1 :(得分:0)
它可能与作用域或可能由对话框添加的另一个表单有关。我的第一个调试步骤是将document.forms [0]包装成一个警报并查看它是否返回一个对象。
其次,我会给表单标签一个id来明确引用它,例如id =“mainForm”然后你可以document.getElementById("mainForm").submit();
或者你可以像其他答案所说的那样写出来
$("#mainForm").submit();
也可以先尝试调用dialog close命令。