2016-07-20 24 views
0

http://pastebin.com/wGqMD59NDisable senden, wenn die Eingänge leer sind

Dies ist mein Code. Ich habe mehrere andere Methoden ausprobiert, die mit jquert gepostet wurden, aber ich muss es nicht richtig geschrieben haben. Ich bin mir nicht sicher, wie ich das auf meinen Code anwenden soll. Der zweite Submit-Button muss jedoch deaktiviert werden, wenn die Eingaben nicht ausgefüllt sind.

+0

wenn ich darf, können Sie versuchen, nicht Verschachtelung Formen, wie es – Satya

+0

@Satya eine schlechte Praxis gilt: Wo Sie nisten sehen Form tun? –

+0

Mögliches Duplikat von [Disable submit, wenn Eingaben leer sind jquery] (http://stackoverflow.com/questions/9671918/disable-submit-if-inputs-empty-jquery) – ihemant360

Antwort

0

Ich habe Ihre "zweite" Schaltfläche für button statt sumbit geändert. Ich habe das Attribut disabled entfernt.

Sie müssen alle Eingaben überprüfen, die entscheiden, ob das Formular gesendet werden muss oder nicht.

<input type="hidden" name="submit" value="Submit"> 
    <input type="button" id="button" value="Submit"> 
    </form> 
    <script> 
    $("#button").click(function(){ 
    var flag=true; 

    // check all input values 
    $("input[type='text']").each(function(){ 
     if($(this).val()==""){ 
      flag=false; 
     } 
    }); 

    // submit the form 
    if(flag){ 
     $("form#input").submit() 
    }else{ 
     // You should do something here. 
     alert("Please fill all inputs!"); 
    } 
    }); 
    </script> 

Sie denken sollten, was zu tun ist, wenn flag falsch ist ...
Wie etwas den Benutzer zu informieren er alle Eingaben zu füllen hat.

Hinweis: Laden Sie die jQuery-Bibliothek in Ihrem head, damit es funktioniert.

Kommentar auf "Naming" ...
, dass Namen, Klassen oder IDs mit input oder button verwirrend sein kann zu verwenden.
Versuchen Sie, beschreibende Wörter zu verwenden, die nicht mit Methoden oder HTML-Tags identisch sind.
;)

+0

http://pastebin.com/R5fYUS9t Ich habe es versucht um deinen Code hinzuzufügen, habe ich etwas falsch gemacht, weil es nicht funktioniert ... – KidMessiah

+0

Ich habe meine Antwort mit einem Beispiel bearbeitet, was Sie tun könnten. 'alert()' ist eine JavaScript-Funktion zum Auslösen einer Alarmbox. Es gibt verschiedene Möglichkeiten, den Benutzer über Fehler zu informieren ... Je nachdem, was Sie tun möchten. 'alert()' ist das einfachste ... Ein netterer Alarm kann mit [SweetAlert] (http://t4t5.github.io/sweetalert/) erreicht werden. –

+0

Oben auf der Seite überprüfe ich, ob die Daten übermittelt wurden, und wenn dies der Fall ist, werden die Daten angezeigt. Aber jetzt zeigt die Schaltfläche die Daten nach dem Senden nicht mehr an. Es wird auch nicht nach XML gedruckt. Aber sobald ich deinen Code entferne, funktioniert es wieder. Nicht sicher, warum dies auftritt. – KidMessiah

0

Verwendung JQuery Funktion

$('form').submit(function(e){ 
    var i=Number(0); 
    $('input').each(function(){ 
    if($(this).val() == '') 
     i++; 
    }); 

if(i>0) 
    { 
    e.preventDefault(); 
    } 
}); 
Verwandte Themen