¿Cómo puedo obtener el valor de un formulario HTML para pasarlo a JavaScript?
¿Es esto correcto? Mi guión toma dos argumentos, uno del cuadro de texto y otro del cuadro desplegable.
<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
usuario377419
fuente
fuente
Respuestas:
HTML:
JS:
fuente
nameValue
es el valor predeterminado y no el que ingresó el usuario.Si desea recuperar los valores del formulario (como los que se enviarían mediante HTTP POST), puede utilizar:
JavaScript
form-serialize ( https://code.google.com/archive/p/form-serialize/ )
jQuery
fuente
FormData
sí no hace nada ... aún necesita obtener los valores del formulario.FormData.entries()
para recuperar los valores. Además,FormData.entries()
no está disponible en Safari, Explorer o Edge. developer.mozilla.org/en-US/docs/Web/API/FormDataformData.entries()
, depende de lo que estés buscando. Si está buscando el valor de un solo campo, puede usarformData.get(name)
. Referencia: get () .FormData
generar nada en Chrome.Aquí hay un ejemplo de W3Schools:
La demostración se puede encontrar aquí .
fuente
var obj = {};
avar obj = [];
.obj
, independientemente de cuál esté seleccionado. El problema se demuestra aquí (elija 'Opción 1') w3schools.com/code/tryit.asp?filename=GEZXJXBBI7AWdocument.forms
contendrá una variedad de formularios en su página. Puede recorrer estos formularios para encontrar el formulario específico que desee.Cada formulario tiene una matriz de elementos que luego puede recorrer para encontrar los datos que desea. También debería poder acceder a ellos por su nombre
fuente
Mis 5 centavos aquí, el uso
form.elements
que le permite consultar cada campo por suname
, no solo por iteración:fuente
Ampliando la idea de Atrur Klesun ... puedes acceder a él por su nombre si usas getElementById para llegar al formulario. En una línea:
Lo usé así para botones de radio y funcionó bien. Supongo que aquí pasa lo mismo.
fuente
Este es un ejemplo desarrollado de https://stackoverflow.com/a/41262933/2464828
Considerar
Supongamos que queremos recuperar la entrada de name
formula
. Esto se puede hacer pasandoevent
elonsubmit
campo. Luego, podemos usarFormData
para recuperar los valores de esta forma exacta haciendo referencia alSubmitEvent
objeto.El código JavaScript anterior imprimirá el valor de la entrada en la consola.
Si desea iterar los valores, es decir, obtener todos los valores, consulte https://developer.mozilla.org/en-US/docs/Web/API/FormData#Methods
fuente
Varios serializadores de formularios fáciles de usar con buena documentación.
En orden de estrellas Github,
jquery.serializeJSON
jquery-serialize-object
form2js
formulario-serializar
fuente
Intente cambiar el código de la siguiente manera:
fuente
Solución rápida para serializar un formulario sin bibliotecas
fuente
fuente