2016-07-05 3 views
0

Ich verwende die Submit-Funktion in Jquery, um eine Validierung durchzuführen. Wenn die Validierung wahr ist, wird das Formular übergeben. Ich habe jedoch einen "Bist du sicher" -Dialog hinzugefügt. Kann ich den Dialog "Wahr" oder "Falsch" zurückgeben, der dann das Formular als aktuell in einer Schleife stecken würde.JQuery-Dialog zum Zurückgeben von True oder False zum Übergeben der Funktion

JQuery:

$(function(){ 
<!-- form validation --> 
$("#form1").submit(function() {  

    //validation stuff 

    //Disable the submit button 
    $('#SubmitButton').attr('disabled', false); 



    // Only if true is returned from dialog?? 
    return true; 
}) }); 

html

<div id="testdialog" title="Please Check"> 
<p>Are you sure></p>        
    <div style="height: 30px; width:100px;"onclick="$('#testdialog').dialog('close');return true;"> 
Continue 
    </div> 
    <div style="height: 30px; width: 100px;" onclick="$('#testdialog').dialog('close');return false';"> 
Redo selection 
    </div> 
</div> 
+0

Dialoge sind asynchron, Sie können nichts von ihnen zurückgeben. – Barmar

+0

Sie müssen die 'OnClick'-Callbacks der Dialogfelder verwenden, um die gewünschten Aktionen auszuführen. – Barmar

Antwort

0

Sie müßten ein globales/Session-Variable setzen, die Ihnen, wenn der Benutzer bereits wie dies bestätigen oder nicht, etwas hat erzählt:

var confirmed = false; 
var confirmSubmit = function() { 
    $('#testdialog').dialog('close'); 
    confirmed = true; 
    $("#form1").submit(); 
    return true; 
} 
$(function(){ 
    <!-- form validation --> 
    $("#form1").submit(function() {  

    //validation stuff 

    //Disable the submit button 
    $('#SubmitButton').attr('disabled', false); 

    if (!confirmed) { 
     // Trigger the notification 
    } 


    // Only if true is returned from dialog?? 
    return confirmed; 
}) }); 

und die html:

<div id="testdialog" title="Please Check"> 
    <p>Are you sure></p>        
    <div style="height: 30px; width:100px;"onclick="confirmSubmit"> 
     Continue 
    </div> 
    <div style="height: 30px; width: 100px;" onclick="$('#testdialog').dialog('close');return false';"> 
     Redo selection 
    </div> 
</div> 
+0

Danke für den Hinweis, es ist in der Nähe genug sortiert das Problem heraus. Ich hatte Probleme mit onclick = "confirmSubmit" zu arbeiten und entschied mich stattdessen einen Listener zu verwenden. – user2452357

1

Vielen Dank für den Rat es in der Nähe genug sortiert das Problem aus. Ich hatte Probleme mit onclick = "confirmSubmit" zu arbeiten und entschied mich stattdessen einen Listener zu verwenden.

$(function(){ 
    $('#btnconf').click(function() { 
    $('#testdialog').dialog('close'); 
    confirmed = true; 
    $("#form1").submit(); 
    return true; 
    }); 

In der html habe ich id = "btnconf" auf die Schaltfläche hinzugefügt.

Hey presto !! funktioniert ein Vergnügen !. Danke noch einmal!

Verwandte Themen