No existe una pregunta estúpida, así que aquí vamos: ¿Cuál es la diferencia entre <input type='button' />
y <input type='submit' />
?Diferencia entre <input type = 'button' /> y <input type = 'submit' />
Respuesta
<input type="button" />
botones no enviarán un formulario; no hacen nada por defecto. Generalmente se usan junto con JavaScript como parte de una aplicación AJAX.
<input type="submit">
botones enviarán el formulario en el que se encuentran cuando el usuario haga clic en ellos, a menos que especifique lo contrario con JavaScript.
También los navegadores pueden capturar la tecla presionar "Enter" en un formulario y enviar el formulario automáticamente si hay un botón de envío , pero no de otra manera –
También lo hacen si tiene una tipo = "imagen", que se puede utilizar para activar un envío de formulario cuando se hace clic en él. – jishi
Mr. Shiny and New: los formularios se pueden enviar con la tecla Intro sin botones. Es suficiente con centrarse en una entrada de texto, por ejemplo. – Lasar
Un 'botón' es simplemente eso, un botón, al cual puede agregar funcionalidad adicional usando Javascript. Un tipo de entrada 'enviar' tiene la funcionalidad predeterminada de enviar el formulario en el que está ubicado (aunque, por supuesto, todavía puede agregar funcionalidad adicional usando Javascript).
El botón no enviará formulario por sí mismo. Es un botón simple que se utiliza para realizar alguna operación mediante javascript, mientras que Enviar es un tipo de botón que envía el formulario de forma predeterminada cada vez que el usuario hace clic en el botón Enviar.
En realidad, IE 8 usa el primer botón que encuentra enviar o botón. En lugar de indicar fácilmente cuál se desea convirtiéndolo en un tipo de entrada = enviar el pedido en la página es realmente significativo.
<input type="button">
pueden utilizarse en cualquier lugar, no solo en el formulario y no envían el formulario si están en uno. Mucho mejor adaptado con Javascript
.
<input type="submit">
deben utilizarse solo en formularios y enviarán una solicitud (GET o POST) a la URL especificada. Deben ponerse no en cualquier lugar HTML.
W3C que quede claro, en la especificación sobre el elemento de botón
botón puede ser visto como una clase genérica para todo tipo de botones con ningún comportamiento predeterminado.
Cabe también mencionar que una entrada con nombre de type = "submit" se presentó también en conjunto con los campos nombre de la otra forma, mientras que una entrada type = "button", llamada así no lo hará.
Con otras palabras, en el siguiente ejemplo, la entrada de llamada name=button1
voluntad no obtener presentará mientras que la entrada llamado name=submit1
SE obtener presentará.
Formulario de muestra HTML (index.html):
<form action="checkout.php" method="POST">
<!-- this won't get submitted despite being named -->
<input type="button" name="button1" value="a button">
<!-- this one does; so the input's TYPE is important! -->
<input type="submit" name="submit1" value="a submit button">
</form>
El script PHP (checkout.php) que procesa la acción de la forma anterior:
<?php var_dump($_POST); ?>
Prueba de lo anterior en su máquina local crear los dos archivos en una carpeta llamada/tmp/test/ejecutar el servidor web PHP incorporado desde shell:
php -S localhost:3000 -t /tmp/test/
Abra su navegador al http://localhost:3000 y compruébelo usted mismo.
Uno se preguntaría por qué tendríamos que enviar un botón con nombre? Depende del script de back-end. Por ejemplo, el complemento de WordPress de WooCommerce no procesará una página de Checkout publicada a menos que también se envíe el botón con el nombre Place Order
. Si modifica su tipo de envíe a botón, este botón no se enviará y, por lo tanto, el formulario de pago nunca se procesará.
Esto es probablemente un pequeño detalle, pero ya sabes, el diablo está en los detalles.
¿Esto está de acuerdo con la especificación o depende del navegador? –
type='Submit'
está configurado para reenviar & obtener los valores en BACK-END (PHP, .NET, etc.). type='button'
reflejará el comportamiento normal de los botones.
- 1. modelo de caja inconsistente entre <input type = "submit" /> y <type = "text" input />
- 2. ¿Puede button_to generar <button> etiqueta en lugar de <input type = "submit" />?
- 3. ¿Cómo puedo agregar relleno a <input type = "button">?
- 4. <button type = "submit"> compatibilidad?
- 5. Comprensión <input type = "file">
- 6. Diferencia entre el manejo de $ ("formulario"), enviar o un <input type = "submit"> evento click?
- 7. Poner en valor por defecto <input type = archivo ....>
- 8. input type = "submit" en lugar de input type = "button" con AJAX?
- 9. HTML <input type = 'archivo'> Selección archivo de eventos
- 10. Estilo CSS para un botón: Usar <input type = "button> en lugar de <button>
- 11. Leyendo archivos locales con <input type = "file">?
- 12. ¿Está bien usar <input type = "tel" /> ahora?
- 13. Relleno de CSS agregado a alto/ancho para <input type = 'submit'>
- 14. jQuery set <input type = "range"> value
- 15. Relleno adicional en <input type = "text">
- 16. Cómo estilo <input type = "text"> en IE6 CSS?
- 17. HTML <input type = 'archivo'> aplicar un filtro
- 18. ¿Cómo hacer que <input type = "file" /> editable?
- 19. ¿Puede EditorFor() usarse para crear <input type = "file">?
- 20. <input type = "file"> - custom styles/css
- 21. Cómo crear <input type = "text" /> dinámicamente
- 22. ¿Cómo seleccionar múltiples archivos con <input type = "file">?
- 23. ¿Podemos cambiar <input type = "file"> style?
- 24. detectar si <input type = "archivo" /> se apoya
- 25. Html helper for <input type = "file" />
- 26. <input type = "button" runat = "server" /> no funcionará en ASP.NET
- 27. Problema con <input type = 'text' /> y <textarea> width
- 28. <input type = "submit"> error de relleno en Safari mobile?
- 29. Revertir el estilo CSS de <input type = submit button a su estilo predeterminado
- 30. Como hacer <span> la misma altura que <input type = "text">
Consulte también ** [input type = "submit" Vs button tag son intercambiables?] (Http://stackoverflow.com/questions/7117639/input-type-submit-vs-button-tag-are-they -intercambiables) ** – hippietrail
Tuve la misma pregunta y esta definitivamente no es una pregunta estúpida, especialmente si usted ha sido un desarrollador de formularios web asp.net toda su vida donde no usamos html todos los días porque el estúpido asp. los controles netos nos escupieron esta mierda ... es por eso que terminamos siendo tontos cuando nos mudamos a MVC y tenemos que volver al jardín de infancia para descubrir cómo codificar elementos de formas simples de nuevo. :) – PositiveGuy
El elemento HTML