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
2023-08-13 15:02:29
<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>
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.