Javascript 如何使document.forms[0].submit()有效?
在我将对话框作为一种提醒措施实施后,用户可以确认提交,而不是单击直接提交,我的document.forms[0].submit()不再有效。页面刷新,页面保持不变。在创建该对话框之前,一切都很正常。这里有什么问题 之后:Javascript 如何使document.forms[0].submit()有效?,javascript,jquery,forms,Javascript,Jquery,Forms,在我将对话框作为一种提醒措施实施后,用户可以确认提交,而不是单击直接提交,我的document.forms[0].submit()不再有效。页面刷新,页面保持不变。在创建该对话框之前,一切都很正常。这里有什么问题 之后: <script> //trigger dialog $('#submitIter').click(function(){ $("#dialog-submit").dialog("open"); return fal
<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>
//触发对话框
$('#submitite')。单击(函数(){
$(“对话框提交”)。对话框(“打开”);
返回错误
});
$(“#对话框提交”).dialog({
自动打开:错误,
可调整大小:false,
身高:200,
宽度:200,
莫代尔:是的,
按钮:{
“继续”:函数(){
//用户单击“继续”后提交似乎无法工作
document.forms[0]。提交();
$(此).dialog(“关闭”);
}
}
});
之前:
<script> document.forms[0].submit() </script>
document.forms[0].提交()
我想你应该在这个表单之前添加一些表单,尝试编写文档。表单[1]。提交()无论如何,我可以看到您使用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>
//触发对话框
$('#submitite')。单击(函数(){
$(“对话框提交”)。对话框(“打开”);
返回错误
});
$(“#对话框提交”).dialog({
自动打开:错误,
可调整大小:false,
身高:200,
宽度:200,
莫代尔:是的,
按钮:{
“继续”:函数(){
//用户单击“继续”后提交似乎无法工作
$(“#表格(用于"提交)”).submit();
$(此).dialog(“关闭”);
}
}
});
我想你应该在这个表单之前添加一些表单,尝试编写文档。表单[1]。提交()无论如何,我可以看到您使用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>
//触发对话框
$('#submitite')。单击(函数(){
$(“对话框提交”)。对话框(“打开”);
返回错误
});
$(“#对话框提交”).dialog({
自动打开:错误,
可调整大小:false,
身高:200,
宽度:200,
莫代尔:是的,
按钮:{
“继续”:函数(){
//用户单击“继续”后提交似乎无法工作
$(“#表格(用于"提交)”).submit();
$(此).dialog(“关闭”);
}
}
});
它可能与作用域有关,也可能与对话框添加的其他表单有关。我的第一个调试步骤是将document.forms[0]包装成一个警报,并查看它是否返回一个对象。
其次,我会给表单标签一个id来明确引用它,例如id=“mainForm”,然后您可以执行document.getElementById(“mainForm”).submit()代码>
或者你也可以按照另一个答案写
$("#mainForm").submit();
还可以尝试先调用dialog close命令。它可能与作用域有关,也可能与对话框添加的其他表单有关。我的第一个调试步骤是将document.forms[0]包装成一个警报,并查看它是否返回一个对象。
其次,我会给表单标签一个id来明确引用它,例如id=“mainForm”,然后您可以执行document.getElementById(“mainForm”).submit()代码>
或者你也可以按照另一个答案写
$("#mainForm").submit();
还可以尝试先调用对话框关闭命令