2017-12-28 13 views
0

Ich habe ein Formular, wo ich Aktion mit Validierung gebunden. Es folgt die Formularzeile, die JavaScript überprüft.Formular nicht mit einem einzigen Klick senden

<form id="signup_form" method="post" action="javascript:check();"> 

Ich habe folgende JavaScript:

function check(form){ 
    flag = 0 
    doValidations(); 
    if(flag==1){ 
    return; 
    } else { 
    $('#signup_form').submit(); 
    $('#signup_form').attr('action', 'NewSignupConfirm.php'); 
    return false; 
    } 
} 

Wenn ich auf submit klicken, die alles kann Validierung und sogar Botschaft der else-Anweisung zeigen, aber keine Form einreichen. Dann klicke ich erneut auf Senden und das Formular wird gesendet. Was ist daran falsch? irgendein Vorschlag.

Antwort

0
<form id="signup_form" method="post" action="NewSignupConfirm.php" onsubmit="return check();"> 


function check(form){ 
    flag = 0 
    doValidations(); 
    if(flag==1){ 
    return false; 
    } else { 
    return true; 
    } 
} 
+1

Während dieser Code-Schnipsel, die Frage lösen kann, [ einschließlich einer Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) hilft wirklich, die Qualität Ihrer Post zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. – Isma

+0

Nach dem Absenden der Antwort merke ich dies und habe abgeschlossen, aber Ihre Antwort ist korrekt und ausgezeichnet. Danke Deepak – KamalPanhwar

0

können Sie versuchen, diesen Code unten

function check(form){ 
    if(doValidations()){ 
    return true; 
    } else { 
    return false; 
    } 
} 

Sie müssen keine Flagvariable hinzufügen nur true zurückgeben oder falsch von doValidations Methode

Verwandte Themen