Après avoir cliqué sur le bouton Enregistrer dans la boîte de dialogue jQuery, il n'y a aucune réponse lors de la soumission du formulaire
P粉207969787
P粉207969787 2023-08-13 15:02:29
0
1
452
<p>J'ai un formulaire en JSP et le code suivant en JavaScript. Le problème auquel je suis confronté est le suivant : </p> <p>Lorsque je clique sur le bouton Enregistrer, si la condition <code>if(speciesid === 2){</code> est remplie et que je clique sur <code>"Enregistrer"< dialogue /code>, cela ne déclenche pas le contrôleur. Cependant, cela fonctionne bien et déclenche mon contrôleur chaque fois que la condition <code>if(speciesid === 2){</code> J'ai quelques doutes sur cette ligne <code>" document.getElementById("orderForm").submit();"</code>. Quelqu'un peut-il voir ce qui ne va pas avec mon code ? Pour éviter un contenu de code excessif, d'autres champs de formulaire ont été omis. </p> <pre class="brush:php;toolbar:false;"><form:form method="POST" modelAttribute="orderForm" onsubmit="retour validateOrderForm(this)"> <form:erreurs path="*" cssClass="errorblock" element="div" /> <form:chemin caché="choiceBstatus" /> <c:if test="${Species.speciesID == 2}"> <div id="checklist_dialog" title="Nouvelle entrée"> <formulaire> <p> Nom: <input type="text" name="name" /> </p> <p>Groupe : </p> </formulaire> </div> </c:si> <table class="noPrint"> <tr> <td align="center"><br /> <input onclick="formSaveButton()" class="bouton" type="submit" nom="enregistrer" valeur="Enregistrer" /> - <input class="bouton" type="soumettre" name="annuler" value="Annuler" onclick="bAnnuler = true;" />≪/td> ≪/tr> </tableau> </form:form> <script type="text/javascript"> $('#checklist_dialog').hide(); fonction formSaveButton(){ getSpeciesID('<c:out value="${Species.speciesID}"/>'); getChoiceBStatus('<c:out value="${orderForm.choiceBstatus}"/>'); } fonction getSpeciesID(speciesid){ console.log("ID ​​d'espèce"); console.log (identifiant de l'espèce); if(identifiant de l'espèce === 2){ var selectedVal = ""; var sélectionné = $("input[type='radio'][name='sampleChoice']:checked"); if (selected.length > 0) { selectedVal = sélectionné.val(); console.log(selectedVal); } $('#checklist_dialog').dialog({ modal : vrai, superposition : { opacité : 0,7, fond : "noir" }, boutons: { "ENREGISTRER": fonction() { $(this).dialog('close'); $("#choiceBstatus").val("true"); document.getElementById("orderForm").submit(); }, "ANNULER": fonction() { $(this).dialog('close'); alert("Vous devez compléter/sauvegarder la checklist avant de sauvegarder votre formulaire !"); $("#choiceBstatus").val("false"); } } }); } } fonction getChoiceBStatus(statut){ console.log("Statut du choix B"); console.log(statut); } </script></pre> <p><br /></p>
P粉207969787
P粉207969787

répondre à tous(1)
P粉105971514

D'après ce que je peux voir, il vous manque l'identifiant sur le formulaire, document.getElementById("orderForm") 通过选择具有匹配id的HTML元素来工作,在这里是"orderForm".

Cependant, votre formulaire HTML ne précise aucun identifiant. Veuillez essayer de mettre à jour le formulaire pour inclure les identifiants suivants.

<form:form id="orderForm" method="POST" modelAttribute="orderForm"
    onsubmit="return validateOrderForm(this)">
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal