Como faço para que o valor de um formulário HTML passe para o JavaScript?
Isso está correto? Meu script usa dois argumentos, um da caixa de texto e outro da caixa suspensa.
<body>
<form name="valform" action="" method="POST">
Credit Card Validation: <input type="text" id="cctextboxid" name="cctextbox"><br/>
Card Type: <select name="cardtype" id="cardtypeid">
<option value="visa">Visa</option>
<option value="mastercard">MasterCard</option>
<option value="discover">Discover</option>
<option value="amex">Amex</option>
<option value="diners">Diners Club</option>
</select><br/>
<input type="button" name="submit" value="Verify Credit Card" onclick="isValidCreditCard(document.getElementById('cctextboxid').value,document.getElementById('cardtypeid').value)" />
</body>
javascript
html
user377419
fonte
fonte
Respostas:
HTML:
JS:
fonte
nameValue
é o valor padrão e não o que o usuário inseriu.Se desejar recuperar os valores do formulário (como aqueles que seriam enviados por meio de um HTTP POST), você pode usar:
JavaScript
form-serialize ( https://code.google.com/archive/p/form-serialize/ )
jQuery
fonte
FormData
si não faz nada ... você ainda precisa obter os valores do formulário.FormData.entries()
para recuperar os valores. Além disso,FormData.entries()
não está disponível no Safari, Explorer ou Edge. developer.mozilla.org/en-US/docs/Web/API/FormDataformData.entries()
, depende do que você está procurando. Se você estiver procurando o valor de um único campo, poderá usarformData.get(name)
. Referência: get () .FormData
produzir nada no Chrome.Aqui está um exemplo da W3Schools:
A demonstração pode ser encontrada aqui .
fonte
var obj = {};
paravar obj = [];
.obj
, independentemente de qual for selecionado. O problema é demonstrado aqui (escolha 'Opção 1') w3schools.com/code/tryit.asp?filename=GEZXJXBBI7AWdocument.forms
conterá uma variedade de formulários em sua página. Você pode percorrer esses formulários para encontrar o formulário específico que deseja.Cada formulário possui uma matriz de elementos que você pode percorrer para encontrar os dados que deseja. Você também deve ser capaz de acessá-los pelo nome
fonte
Meus 5 centavos aqui, usando o
form.elements
que permite consultar cada campo por elename
, não apenas por iteração:fonte
Expandindo a ideia de Atrur Klesun ... você pode acessá-lo apenas pelo nome se usar getElementById para acessar o formulário. Em uma linha:
Eu usei assim para botões de rádio e funcionou bem. Eu acho que é o mesmo aqui.
fonte
Este é um exemplo desenvolvido de https://stackoverflow.com/a/41262933/2464828
Considerar
Vamos supor que queremos recuperar a entrada de nome
formula
. Isso pode ser feito passando oevent
emonsubmit
campo. Podemos então usarFormData
para recuperar os valores desta forma exata referenciando oSubmitEvent
objeto.O código JavaScript acima imprimirá o valor da entrada no console.
Se você deseja iterar os valores, ou seja, obter todos os valores, consulte https://developer.mozilla.org/en-US/docs/Web/API/FormData#Methods
fonte
Vários serializadores de formulários fáceis de usar com boa documentação.
Na ordem das estrelas do Github,
jquery.serializeJSON
jquery-serialize-object
form2js
form-serialize
fonte
Tente alterar o código conforme abaixo:
fonte
Solução rápida para serializar um formulário sem nenhuma biblioteca
fonte
fonte