Jak uzyskać wartość pola tekstowego za pomocą jQuery?

486

Mogę uzyskać taki element, $("#txtEmail")ale nie jestem pewien, jak uzyskać rzeczywistą wartość.

Micheasz
źródło
22
próbowałeś $ („txtEmail”). val ()
Perpetualcoder
2
hehehe ... problem polegał na tym, że zapomniałem odwołać się do mojej funkcji w zdarzeniu click =)
Mika

Odpowiedzi:

765

Istnieje .val()metoda:

Jeśli masz dane wejściowe o identyfikatorze txtEmail, możesz użyć następującego kodu, aby uzyskać dostęp do wartości pola tekstowego:

$("#txtEmail").val()

Możesz także użyć tej val(string)metody, aby ustawić tę wartość:

$("#txtEmail").val("something")
neilprosser
źródło
2
Dlaczego '.value ()' nie działa w jQuery? Gdybym tak zrobił, nie przeszukałbym Google'a, ponieważ próbowałem tego intuicyjnie. Dlaczego warto skrócić go o dwa znaki ...
Mike de Klerk
var user_email = $("#txtEmail").val()
Nipek
74

Użyj metody .val ().

Myślę też, że chciałeś użyć $("#txtEmail")jako $("txtEmail")zwracanych elementów typu, <txtEmail>których prawdopodobnie nie masz.

Zobacz tutaj w dokumentacji jQuery .

Również metoda jQuery val () .

Spencer Ruport
źródło
23

Możliwy duplikat:

Tylko dodatkowe informacje, których znalezienie zajęło mi dużo czasu. Co jeśli używasz nazwy pola, a nie identyfikatora do identyfikacji pola formularza. Robisz to w ten sposób:

Dla przycisku opcji:

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

W przypadku pola tekstowego:

 var txt=$('input:text[name=DrugDurationLength]').val();
Yoosaf Abdulla
źródło
Zachowaj ostrożność, publikując odpowiedzi na wiele pytań, kopiując i wklejając odpowiedzi na wiele pytań, które zazwyczaj są oznaczane przez społeczność jako „spam”. Jeśli to robisz, oznacza to zwykle, że pytania są duplikatami, więc oznacz je jako takie: stackoverflow.com/questions/1320088
Kev
1
@Kev: Nie wiedziałem o takim tagowaniu. Jednak nie jestem pewien, czy w ogóle był to duplikat w czasie, gdy opublikowałem to rozwiązanie. Nie mogłem znaleźć takiego w SO tak opublikowanym. Ale tak, naprzód, będę pamiętać i dziękuję za poinformowanie.
Yoosaf Abdulla
1
„Input: text” pomogło, ponieważ miałem 2 kontrolki o tej samej nazwie. : <(Zwróć uwagę na mój kod, właśnie go odziedziczyłem)
granadaCoder
6

Istnieje .val();metoda, której można użyć.

Więc w twojej sytuacji chciałbyś skorzystać $("#txtEmail").val();. Upewnij się także, że dodałeś właściwość id do swojego kodu HTML!

kozioł ofiarny17
źródło
5

Użyj tej .val()metody, aby uzyskać rzeczywistą wartość potrzebnego elementu.

PUBG
źródło
4

Możesz uzyskać dostęp do wartości kontroli Texbox albo przez jej identyfikator, albo przez nazwę klasy.

Oto przykładowy kod:

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

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

Użycie nazwy klasy do uzyskania dowolnej wartości kontrolnej pola tekstowego może zwrócić inną lub niepoprawną wartość, ponieważ taką samą nazwę klasy można również zdefiniować dla dowolnej innej kontroli. Aby uzyskać wartość określonego pola tekstowego, można pobrać jego identyfikator.

Akshay Chawla
źródło
2

Używając

$("#txtEmail").val()

otrzymujesz rzeczywistą wartość elementu

MIlan Modh
źródło