2016-11-02 4 views
-2

Ich versuche zu überprüfen, ob die Eingabe mit jQuery leer ist und der Code nicht funktioniert.Check Empty Input funktioniert nicht

, dass der Code ist:

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
     <script src="demo.js"></script> 
    </head> 

    <body> 
     <form> 
      <input type="text" id="name"> 
      <input type="submit" id="btnConnect"> 
     </form> 
    </body> 
</html> 

$('#btnConnect').click(function() 
{ 
    if($('#name').val() == '') 
    { 
     alert('Input is empty!'); 
    } 
}); 
+1

Überprüfen Sie auf undefined – Geeky

+0

Wenn ich Ihren Code ausführen, bekomme ich eine Warnung "Eingabe ist leer" ohne eine ausgefüllte Eingabe. –

+0

den Code in $ (Dokument) umwandeln .ready (function() {}); es soll funktionieren wie es ist – Geeky

Antwort

0

Ihr Problem hat zwei einfache Lösungen. Grundsätzlich rufen Sie Ihr Skript vor dem Rest der Seite lädt. Ihr Skript versucht, eine Verbindung zu #btnConnect herzustellen, die noch nicht existiert.

1). Verwenden Sie document.ready oder window.onload. Das Skript wird nur ausgeführt, nachdem die ganze Seite geladen wurde, also sollte es so funktionieren, wie Sie es wollten.

2). Platzieren Sie die Dateien JS am Ende des Dokuments, unmittelbar vor dem schließenden Tag body. Die meisten Programmierer entschieden sich dafür, die scripts am Ende der Seite zu setzen, denn wenn Sie große Skripts haben, sieht der Benutzer eine leere Seite, bis sie geladen werden. Es funktioniert ziemlich gut, weil die meiste Zeit JS nicht erforderlich ist, bis der Benutzer die Interaktion mit der Site beginnt. Es ermöglicht auch progressives Rendering.

Weitere gute JS Praktiken finden Sie unter:

JSTheRightWay.org

hoffe, das hilft!

Verwandte Themen