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”>
<tr>
> - <輸入類別=“按鈕”類型=“提交”
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。