Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
¿Por qué un <button>, con atributo type="submit", no se enviaría con el formulario cuando se usa HTMLFormElement.submit()?

Resulta que tengo el siguiente formulario:

 <form method="post" action=<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?> enctype="multipart/form-data"> <button type="submit" name="identifier" value="wikipedea_form"> Add Post </button> </form>

Uso jquery para enviar este formulario como

 $("form").submit();

Esto no envía los datos de la publicación $_POST["identifier"] . Supongo que jQuery usa HTMLFormElement.submit() bajo el capó. Los documentos de MDN dicen que:

<input> con atributo type="submit" no se enviará con el formulario cuando se use HTMLFormElement.submit()...

Creo que lo mismo se aplica a la etiqueta del button también. Solo para estar 100% seguro de que estoy preguntando aquí. Puede ser que depende del navegador, etc, etc...

Entonces, ¿no se enviaría <button> con el atributo type="submit" con el formulario al usar HTMLFormElement.submit() ? Cite la documentación oficial para respaldar su respuesta.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solo los controles exitosos se envían en el envío de formulario normal.

Los botones de envío solo funcionan correctamente si se utilizan para enviar el formulario (o si el formulario se envía a través de Intro en una única entrada de texto, en cuyo caso el botón de envío predeterminado funciona correctamente). Esto le permite distinguir qué botón se utilizó para enviar el formulario en casos como:

 <button name="action" value="like">Like</button> <button name="action" value="dislike">Dislike</button>

Activar el envío de formularios con JS omite la selección de un botón de envío.


  1. Para cada campo de elemento en los controles, en orden de árbol:

    1. Si alguno de los siguientes es cierto:
      • El elemento de campo tiene un antecesor de elemento de lista de datos.
      • El elemento de campo está deshabilitado.
      • El elemento de campo es un botón pero no es un remitente.
      • El elemento de campo es un elemento de entrada cuyo atributo de tipo está en el estado de casilla de verificación y cuya verificación es falsa.
      • El elemento de campo es un elemento de entrada cuyo atributo de tipo está en el estado Botón de opción y cuya verificación es falsa.

    Luego continúa.

— https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-the-form-data-set


Si desea enviar datos con un formulario cada vez que se envía, independientemente de cómo se envió: use <input type="hidden" ...>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda