2016-09-29 1 views
-1

Ich habe ein Textfeld, das ich überprüfe, um sicherzustellen, dass das Textfeld vor der Einreichung nicht leer ist, was gut funktioniert.Wie stelle ich sicher, dass nur ein Textfeld nicht leer ist?

Wie stelle ich sicher, dass es nur überprüft, ob das id = "Name" Textfeld nicht leer ist und das andere Textfeld ignoriert.

<input type="text" class="form-control" id="Name" aria-label="Name" placeholder="Name" required > 

<input type="text" class="form-control" id="address" aria-label="address" placeholder="address"> 

<input type="text" class="form-control" id="zip" aria-label="zip" placeholder="zip" > 

JS

$('input:text').val().length; 
+1

Meinen Sie '$ ('# Name') val() Länge;'..? – vlaz

+0

'$ ('# Name'). Val(). Length;' – andrew

+0

Verwenden Sie die rechte Auswahl für den Job. Eine Liste der jQuery-Selektoren finden Sie [hier] (http://www.w3schools.com/jquery/jquery_ref_selectors.asp). Wenn andere darauf hingewiesen haben, wird '$ ('# Name')' das Element auswählen, das Sie als Ziel festlegen möchten. – Theo

Antwort

2

Ziel das Element von ID,

$('#Name').val().length; 
+0

Wenn HTML-Tags erlaubt sind, wird dies nicht funktionieren. Zum Beispiel kann das Textfeld Tags haben, aber es hat keinen String-Wert. Daher sollte die Überprüfung mit Regex erfolgen, um mit Tags umzugehen. Wenn Sie jedoch nur eine gültige Zeichenfolge annehmen, ist dies akzeptabel. – hakiko

0

Haben Sie dies versuchen?

$('#Name').val().length; 
+0

Wenn HTML Tags erlaubt sind, wird dies nicht funktionieren. Zum Beispiel kann das Textfeld Tags haben, aber es hat keinen String-Wert. – hakiko

+0

@hakkikonu können Sie das für _any_ Einzelstück von jQuery jemals geschrieben haben. "Aber was ist, wenn die ID, auf die Sie zielen, geändert wird?" Ich glaube, die Antwort wird immer sein, dass es keine Rolle spielt. Es ist unmöglich, für irgendeine Situation jemals zu kodieren - was ist, wenn die Auswahl, die Sie versuchen zu stylen, in ein div geändert wird? Was passiert, wenn die CSS-Regel für ein "h1" -Element aufhört, auf sie anzuwenden, wenn Sie sie in ein "p" ändern? Es gibt immer eine Struktur, die ein Entwickler in dem von ihnen verwalteten HTML erwarten sollte. In den meisten Fällen ändert sich HTML ohne deine Beteiligung nicht auf magische Weise. – vlaz

+0

Während dies die Frage beantworten kann, bietet es keinen Kontext, um zu erklären, wie oder warum. Erwägen Sie, ein oder zwei Sätze hinzuzufügen, um Ihre Antwort und ihre Verwendung zu erklären. – brandonscript

0

Sie haben Attribut required an den Eingang mit ID eingestellt Name so form nicht vorlegen, es sei denn es hat einen gewissen Wert. Wenn Sie Whitespaces überprüfen möchten, können Sie jquery $.trim() Methode verwenden:

$('form').submit(function(e) { 
 
    var name = $('#Name').val(); 
 
    if ($.trim(name) === '') { 
 
    e.preventDefault(); 
 
    return false; 
 
    } 
 
    console.log('form submited!'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text" class="form-control" id="Name" aria-label="Name" placeholder="Name" required /> 
 

 
    <input type="text" class="form-control" id="address" aria-label="address" placeholder="address" /> 
 

 
    <input type="text" class="form-control" id="zip" aria-label="zip" placeholder="zip" /> 
 
    <input type="submit" value="submit" /> 
 
</form>

Verwandte Themen