Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda