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.
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.
Para cada campo de elemento en los controles, en orden de árbol:
Luego continúa.
Si desea enviar datos con un formulario cada vez que se envía, independientemente de cómo se envió: use <input type="hidden" ...>