Wie erhalte ich mit jQuery den Wert eines Textfelds?

486

Ich kann das Element so erhalten $("#txtEmail"), bin mir aber nicht sicher, wie ich den tatsächlichen Wert erhalten soll.

Micah
quelle
22
Hast du $ ("txtEmail") ausprobiert? val ()
Perpetualcoder
2
hehehe ... das Problem war, dass ich vergessen habe, meine Funktion im Klickereignis zu referenzieren =)
Micah

Antworten:

765

Es gibt eine .val()Methode:

Wenn Sie eine Eingabe mit der ID haben txtEmail, können Sie mit dem folgenden Code auf den Wert des Textfelds zugreifen:

$("#txtEmail").val()

Sie können val(string)diesen Wert auch mit der folgenden Methode festlegen:

$("#txtEmail").val("something")
Neilprosser
quelle
2
Warum funktioniert '.value ()' in jQuery nicht? Ich hätte Google nicht durchsucht, wenn dies der Fall wäre, da ich dies intuitiv versucht habe. Warum sollten Sie es zwei Zeichen verkürzen ...
Mike de Klerk
var user_email = $("#txtEmail").val()
Nipek
74

Verwenden Sie die Methode .val ().

Ich denke auch, dass Sie $("#txtEmail")als $("txtEmail")Rückgabe Elemente vom Typ verwenden wollten, <txtEmail>die Sie wahrscheinlich nicht haben.

Siehe hier in der jQuery-Dokumentation .

Auch jQuery val () Methode .

Spencer Ruport
quelle
23

Mögliches Duplikat:

Nur zusätzliche Informationen, für deren Suche ich lange gebraucht habe. Was, wenn Sie den Feldnamen und nicht die ID zur Identifizierung des Formularfelds verwendet haben? Du machst es so:

Für Optionsfeld:

 var inp= $('input:radio[name=PatientPreviouslyReceivedDrug]:checked').val();

Für Textfeld:

 var txt=$('input:text[name=DrugDurationLength]').val();
Yoosaf Abdulla
quelle
Seien Sie vorsichtig, wenn Sie Antworten auf mehrere Fragen kopieren und einfügen. Diese werden von der Community in der Regel als "Spam" gekennzeichnet. Wenn Sie dies tun, bedeutet dies normalerweise, dass die Fragen Duplikate sind. Kennzeichnen Sie sie stattdessen als solche: stackoverflow.com/questions/1320088
Kev
1
@ Kevin: Ich wusste nichts über solche Markierungen. Ich bin mir jedoch nicht sicher, ob es sich während der Veröffentlichung dieser Lösung überhaupt um ein Duplikat handelte. Ich konnte keinen in SO finden, der so gepostet wurde. Aber ja, in Zukunft werde ich daran denken und danke, dass Sie es wissen lassen.
Yoosaf Abdulla
1
Die "Eingabe: Text" half, weil ich 2 Steuerelemente mit dem gleichen Namen hatte. : <(Beachten Sie meinen Code, erbte ihn gerade)
GranadaCoder
11

Wenn Sie Ihren Kommentar zur Verwendung für die E-Mail-Validierung bemerkt haben und ein Plugin benötigen, kann Ihnen das Validierungs-Plugin helfen. Es befindet sich unter http://bassistance.de/jquery-plugins/jquery-plugin-validation/ und wird mit einer E-Mail geliefert Regel auch.

Wardy
quelle
6

Es gibt eine .val();Methode, die Sie verwenden können.

Also in Ihrer Situation möchten Sie verwenden $("#txtEmail").val();. Stellen Sie außerdem sicher, dass Sie die id-Eigenschaft in Ihren HTML-Code einfügen!

Sündenbock17
quelle
5

Verwenden Sie die .val()Methode, um den tatsächlichen Wert des gewünschten Elements zu ermitteln.

PUBG
quelle
4

Sie können auf den Wert des Texbox-Steuerelements entweder über seine ID oder über seinen Klassennamen zugreifen.

Hier ist der Beispielcode:

<input type="text" id="txtEmail" class="textbox" value="1">

$(document).ready(function(){
   alert($("#txtEmail").val());
   alert($(".textbox").val());//Not recommended 
});

Die Verwendung des Klassennamens zum Abrufen eines Textfeld-Steuerelementwerts kann einen anderen oder falschen Wert zurückgeben, da derselbe Klassenname auch für ein anderes Steuerelement definiert werden kann. Das Abrufen des Werts eines bestimmten Textfelds kann also anhand seiner ID abgerufen werden.

Akshay Chawla
quelle
2

Durch die Nutzung

$("#txtEmail").val()

Sie erhalten den tatsächlichen Wert des Elements

MIlan Modh
quelle