validar validacion para formularios formulario enviar ejemplos ejemplo datos crear con codigos capturar antes javascript html forms onclick submit

validacion - Cambiar el valor de la entrada y luego enviar el formulario en JavaScript



validar formulario javascript html5 (7)

Actualmente estoy trabajando en una forma básica. Lo que quiero hacer con este formulario es que cuando presiona el botón enviar / para cambiar primero el valor de un campo y luego enviar el formulario como de costumbre. Todo se ve un poco así:

<form name="myform" id="myform" action="action.php"> <input type="hidden" name="myinput" value="0" /> <input type="text" name="message" value="" /> <input type="submit" name="submit" onclick="DoSubmit()" /> </form>

Y esto es lo lejos que he llegado con el JavaScript. Cambia el valor de "myinput" a 1 pero no envía el formulario. Realmente soy un noobie de JavaScript, así que discúlpeme si esto es solo una pregunta demasiado simple, pero realmente no me estoy acostumbrando.

function DoSubmit(){ document.myform.myinput.value = ''1''; document.getElementById("myform").submit(); }


¿Puedes usar onchange Event?

<form name="myform" id="myform" action="action.php"> <input type="hidden" name="myinput" value="0" onchange="this.form.submit()"/> <input type="text" name="message" value="" /> <input type="submit" name="submit" onclick="DoSubmit()" /> </form>


Está intentando acceder a un elemento basado en el atributo de name que funciona para las devoluciones de datos al servidor, pero javascript responde al atributo id . Agregue una id con el mismo valor que el name y todo debería funcionar bien.

<form name="myform" id="myform" action="action.php"> <input type="hidden" name="myinput" id="myinput" value="0" /> <input type="text" name="message" id="message" value="" /> <input type="submit" name="submit" id="submit" onclick="DoSubmit()" /> </form> function DoSubmit(){ document.getElementById("myinput").value = ''1''; return true; }


Mi problema resultó ser que estaba asignando como document.getElementById("myinput").Value = ''1'';

Observe la capital V en Value? Una vez que lo cambio a un caso pequeño, es decir; valor, los datos comenzaron a publicarse. Es extraño, ya que no estaba dando ningún error de Javascript


No. Cuando se envía su tipo de entrada, debe tener un evento onsubmit declarado en el marcado y luego hacer los cambios que desee. Es decir, tiene un onsubmit definido en su etiqueta de formulario.

De lo contrario, cambie el tipo de entrada a un botón y luego defina un evento onclick para ese botón.


Usted podría hacer algo como esto en su lugar:

<form name="myform" action="action.php" onsubmit="DoSubmit();"> <input type="hidden" name="myinput" value="0" /> <input type="text" name="message" value="" /> <input type="submit" name="submit" /> </form>

Y luego modifique su función DoSubmit para simplemente devolver verdadero, indicando que "está bien, ahora puede enviar el formulario" al navegador:

function DoSubmit(){ document.myform.myinput.value = ''1''; return true; }

EDITAR: También sería cauteloso de usar eventos onclick en un botón de enviar; el orden de los eventos no es inmediatamente obvio, y no se llamará a su devolución de llamada si el usuario envía, por ejemplo, presionando return en un cuadro de texto.


aquí hay un código simple, debes establecer una identificación para que la ingreses aquí llámala ''myInput'':

var myform = document.getElementById(''myform''); myform.onsubmit = function(){ document.getElementById(''myInput'').value = ''1''; myform.submit(); };


document.getElementById("myform").submit();

Esto no funcionará ya que su etiqueta de formulario no tiene identificación.

Cambiarlo así y debería funcionar:

<form name="myform" id="myform" action="action.php">