Bouton de dialogue jQuery ignoré, continuez à soumettre le formulaire
<p>J'ai le code de formulaire suivant et le code javascript est affiché ci-dessous. Le problème est que lors de l'exécution de <code>validateDialogForm()</code>, si certaines conditions sont remplies, une boîte de dialogue jquery s'affichera. Je peux effectivement voir la boîte de dialogue apparaître pendant quelques secondes, mais elle ne restera pas là et le formulaire continue d'être soumis. Je souhaite que le formulaire soit mis en pause pendant un moment et soumis uniquement lorsque l'utilisateur clique sur le bouton <code>Enregistrer</code> J'ai essayé d'ajouter <code>return false;</code> avant la fin de la fonction <code>validateDialogForm()</code> La soumission du formulaire ne se poursuivra pas, mais restera telle quelle. Qu'est-ce que je fais de mal ici ? L'état actuel du code ci-dessous est que le formulaire continuera à être soumis quelle que soit la boîte de dialogue jquery.(为了清晰起见,删除了很多不相关的代码)</p>
<p><br /></p>
<pre class="brush:js;toolbar:false;">$('#checklist_dialog').hide();
fonction validateDialogForm() {
$('#checklist_dialog').show();
var estConfirmé = faux;
//STEP:1 Vérifiez si l'option B est sélectionnée.
var selectedVal = "";
var sélectionné = $("input[type='radio'][name='sampleChoice']:checked");
if (selected.length > 0) {
selectedVal = sélectionné.val();
console.log("L'option sélectionnée est " + selectedVal);
}
if (selectedVal === "choixB") {
if ($("#choiceBstatus").val() === "true") {
//afficher la boîte de dialogue
$('#checklist_dialog').dialog({
modal : vrai,
largeur maximale : 600,
hauteur maximale : 500,
largeur : 600,
hauteur : 500,
superposition : {
opacité : 0,7,
fond : "noir"
},
boutons: {
"ENREGISTRER": fonction() {
$(this).dialog('close');
alert("À l'intérieur du bouton SAVE sur lequel l'utilisateur clique");
$("#choiceBstatus").val("false");
//isConfirmé = vrai ;
renvoie vrai ;
},
"ANNULER": fonction() {
$(this).dialog('close');
alert("Vous devez compléter/sauvegarder la checklist avant de sauvegarder votre formulaire !");
// renvoie faux ;
}
}
});
/* e.preventDefault();
renvoie faux ; */
} //fin de if($("#choiceBstatus").val() == true ){
if ($("#choiceBstatus").val() === "false") {
// renvoie vrai ;
}
} //fin de if(selectedVal === "choiceB"){
//retourne faux ;
/* si(estConfirmé){
renvoie vrai ;
}
autre {
renvoie faux ;
}
*/
}</pré>
<pre class="brush:html;toolbar:false;"><form id="orderForm" action="/mywebsite/order.htm" method="POST" onsubmit="return (validateOrderForm(this) & ;& validateDialogForm())">
<input id="choiceBstatus" name="choiceBstatus" type="hidden" value="true">
<div id="ownerDisplayFields" style="visibilité : visible;">
<table class="noPrint">
//quelques divs
</tcorps>
</tableau>
</div>
<div id="pManualTitle" style="display: block">
<table class="noPrint">
<corps>
</tcorps>
</tableau>
</div>
<div id="checklist_dialog" title="Nouveau titre" style="display: none;">
<p>La liste de contrôle 1 va ici</p>
<p>La liste de contrôle 2 va ici </p>
</div>
<table class="noPrint">
<corps>
<tr>
<td align="center"><br>
<input class="bouton" type="soumettre" nom="enregistrer" valeur="Enregistrer"> - <input class="button" type="submit" name="cancel" value="Annuler" onclick="bCancel = true;">
</td>
≪/tr>
</tcorps>
</tableau>
<div></div>
</form></pre>
<p><br /></p>