Nachdem Sie im jQuery-Dialogfeld auf die Schaltfläche „Speichern' geklickt haben, erfolgt beim Absenden des Formulars keine Antwort
P粉207969787
P粉207969787 2023-08-13 15:02:29
0
1
449
<p>Ich habe ein Formular in JSP und den folgenden Code in JavaScript. Das Problem, mit dem ich konfrontiert bin, ist folgendes: </p> <p>Wenn ich auf die Schaltfläche „Speichern“ klicke und die Bedingung <code>if(speciesid === 2){</code> erfüllt ist, klicke ich in der jQuery auf <code>„Speichern“< Wenn Sie auf die Schaltfläche „/code>“ klicken, wird der Controller nicht ausgelöst. Es funktioniert jedoch einwandfrei und löst meinen Controller aus, solange die Bedingung <code>if(speciesid === 2){</code> nicht erfüllt ist. Ich habe einige Zweifel an dieser Zeile <code>" document.getElementById("orderForm").submit();"</code>. Kann jemand sehen, was mit meinem Code nicht stimmt? Um übermäßigen Codeinhalt zu vermeiden, wurde auf andere Formularfelder verzichtet. </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="Neuer Eintrag"> <Formular> <p> Name: <input type="text" name="name" /> </p> <p>Gruppe: </p> </form> </div> </c:if> <table class="noPrint"> <tr> <td align="center"><br /> <input onclick="formSaveButton()" class="button" type="submit" name="speichern" value="Speichern" /> - <input class="button" type="submit" name="cancel" value="Cancel" onclick="bCancel = true;" /></td> </tr> </table> </form:form> <script type="text/javascript"> $('#checklist_dialog').hide(); Funktion formSaveButton(){ getSpeciesID('<c:out value="${Species.speciesID}"/>'); getChoiceBStatus('<c:out value="${orderForm.choiceBstatus}"/>'); } Funktion getSpeciesID(speciesid){ console.log("Arten-ID"); console.log(speciesid); if(speciesid === 2){ var selectedVal = ""; var selected = $("input[type='radio'][name='sampleChoice']:checked"); if (selected.length > 0) { selectedVal = selected.val(); console.log(selectedVal); } $('#checklist_dialog').dialog({ modal: wahr, Überlagerung: { Deckkraft: 0,7, Hintergrund: „schwarz“ }, Tasten: { „SPEICHERN“: function() { $(this).dialog('close'); $("#choiceBstatus").val("true"); document.getElementById("orderForm").submit(); }, „ABBRECHEN“: function() { $(this).dialog('close'); Alert("Sie müssen die Checkliste ausfüllen/speichern, bevor Sie Ihr Formular speichern!"); $("#choiceBstatus").val("false"); } } }); } } Funktion getChoiceBStatus(status){ console.log("Choice B Status"); console.log(status); } </script></pre> <p><br /></p>
P粉207969787
P粉207969787

Antworte allen(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)">
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage