jQuery對話方塊儲存按鈕點擊後,提交表單沒有反應
P粉207969787
P粉207969787 2023-08-13 15:02:29
0
1
450
<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>
P粉207969787
P粉207969787

全部回覆(1)
P粉105971514

從我所看到的情況來看,您在表單上缺少了id,document.getElementById("orderForm") 透過選擇具有匹配id的HTML元素來工作,在這裡是"orderForm"

然而,您的HTML表單並沒有指定任何id。 請嘗試更新表單以包含以下id。

<form:form id="orderForm" method="POST" modelAttribute="orderForm"
    onsubmit="return validateOrderForm(this)">
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板