jQuery对话框保存按钮点击后,提交表单没有反应
P粉207969787
2023-08-13 15:02:29
<p>我在JSP中有一个表单和JavaScript的以下代码。我面临的问题如下:</p>
<p>当我点击保存按钮时,如果满足<code>if(speciesid === 2){</code>条件,并且我从jquery对话框中点击<code>"保存"</code>按钮,它不会触发控制器。然而,只要<code>if(speciesid === 2){</code>条件不满足,它就能正常工作并触发我的控制器。我对这一行<code>" document.getElementById("orderForm").submit();"</code>有些怀疑。有人能看出我的代码有什么问题吗?为了避免代码内容过多,其他表单字段已被省略。</p>
<pre class="brush:php;toolbar:false;"><form:form method="POST" modelAttribute="orderForm"
onsubmit="return validateOrderForm(this)">
<form:errors path="*" cssClass="errorblock" element="div" />
<form:hidden path="choiceBstatus" />
<c:if test="${Species.speciesID == 2}">
<div id="checklist_dialog" title="New Entry">
<form>
<p>
Name:
<input type="text" name="name" />
</p>
<p>Group:
</p>
</form>
</div>
</c:如果>
<表类=“noPrint”>
> - <输入类=“按钮”类型=“提交”
name="取消" value="取消" onclick="bCancel = true;" //td></td>
</表>
</表格:表格>
<脚本类型=“text/javascript”>
$('#checklist_dialog').hide();
函数表单保存按钮(){
getSpeciesID('');
getChoiceBStatus('');
}
函数 getSpeciesID(speciesid){
console.log("物种 ID");
console.log(speciesid);
if(speciesid === 2){
var 选定的值 = "";
var selected = $("input[type='radio'][name='sampleChoice']:checked");
if (selected.length > 0) {
selectedVal = selected.val();
console.log(selectVal);
}
$('#checklist_dialog').dialog({
模态:真实,
覆盖:{
不透明度:0.7,
背景:“黑色”
},
纽扣: {
“保存”:函数(){
$(this).dialog('关闭');
$("#choiceBstatus").val("true");
document.getElementById("orderForm").submit();
},
“取消”:函数(){
$(this).dialog('关闭');
Alert("在保存表单之前,您必须完成/保存清单!");
$("#choiceBstatus").val("假");
}
}
});
}
}
函数 getChoiceBStatus(状态){
console.log("选择B状态");
控制台.log(状态);
}
</脚本></pre>
<p><br />></p>
从我所看到的情况来看,您在表单上缺少了id,
document.getElementById("orderForm")
通过选择具有匹配id的HTML元素来工作,在这里是"orderForm"
。然而,您的HTML表单没有指定任何id。 请尝试更新表单以包括以下id。