Como obtenho o valor de uma caixa de texto usando jQuery?

486

Posso obter o elemento assim, $("#txtEmail")mas não sei como obter o valor real.

Micah
fonte
22
fez u tentar $ ( "txtEmail") val ().
Perpetualcoder
2
hehehe ... o problema era que eu esqueci de fazer referência a minha função no evento click =)
Micah

Respostas:

765

Existe um .val()método:

Se você recebeu uma entrada com um ID, txtEmailpode usar o seguinte código para acessar o valor da caixa de texto:

$("#txtEmail").val()

Você também pode usar o val(string)método para definir esse valor:

$("#txtEmail").val("something")
neilprosser
fonte
2
Por que '.value ()' não funciona no jQuery? Eu não teria pesquisado no Google se o fizesse, porque foi isso que tentei intuitivamente. Por que escolher para encurtá-lo dois caracteres ...
Mike de Klerk
var user_email = $("#txtEmail").val()
Nipek 26/04
74

Use o método .val ().

Também acho que você pretendia usar $("#txtEmail")como $("txtEmail")retorno elementos do tipo <txtEmail>que provavelmente não possui.

Veja aqui na documentação do jQuery .

Também método jQuery val () .

Spencer Ruport
fonte
23

Possível duplicado:

Apenas informações adicionais que levaram muito tempo para encontrar. E se você estivesse usando o nome do campo e não a identificação para identificar o campo do formulário. Você faz assim:

Para botão de opção:

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

Para caixa de texto:

 var txt=$('input:text[name=DrugDurationLength]').val();
Yoosaf Abdulla
fonte
Tenha cuidado ao postar copiar e colar respostas padrão / textuais para várias perguntas, pois elas tendem a ser sinalizadas como "spam" pela comunidade. Se você estiver fazendo isso, geralmente significa que as perguntas são duplicadas; portanto, sinalize-as como tal: stackoverflow.com/questions/1320088
Kev
1
@ Kev: Eu não sabia sobre essa marcação. No entanto, não tenho certeza se foi uma duplicata durante o tempo em que publiquei esta solução. Eu não consegui encontrar um em tão publicado. Mas sim, daqui para frente, vou ter em mente e obrigado por nos informar.
Yoosaf Abdulla
1
A "entrada: texto" ajudou porque eu tinha 2 controles com o mesmo nome. : <(Nota meu código, apenas herdou)
granadaCoder
6

Existe um .val();método que você pode usar.

Então, na sua situação, você gostaria de usar $("#txtEmail").val();. Além disso, adicione a propriedade id ao seu código html!

scapegoat17
fonte
5

Use o .val()método para obter o valor real do elemento que você precisa.

PUBG
fonte
4

Você pode acessar o valor do controle Texbox por seu ID ou por seu nome de Classe.

Aqui está o código de exemplo:

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

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

O uso do nome da classe para obter qualquer valor de controle da caixa de texto pode retornar outro valor ou valor errado, pois o mesmo nome de classe também pode ser definido para qualquer outro controle. Portanto, obter valor de uma caixa de texto específica pode ser buscado pelo seu ID.

Akshay Chawla
fonte
2

Usando

$("#txtEmail").val()

você obtém o valor real do elemento

MIlan Modh
fonte