Там нет такой вещи, как глупый вопрос, поэтому здесь мы идем: В чем разница между <input type='button' />
и <input type='submit' />
?
Там нет такой вещи, как глупый вопрос, поэтому здесь мы идем: В чем разница между <input type='button' />
и <input type='submit' />
?
Ответы:
<input type="button" />
кнопки не отправят форму - по умолчанию они ничего не делают. Они обычно используются вместе с JavaScript как часть приложения AJAX.
<input type="submit">
кнопки будут отправлять форму, в которой они находятся, когда пользователь нажимает на них, если вы не укажете иное с помощью JavaScript.
«Кнопка» - это просто кнопка, к которой вы можете добавить дополнительные функции, используя Javascript. Тип ввода 'submit' имеет функцию по умолчанию для отправки формы, в которой он находится (хотя, конечно, вы все равно можете добавить дополнительные функции, используя Javascript).
Кнопка не будет отправлять форму сама по себе. Это простая кнопка, которая используется для выполнения некоторой операции с использованием javascript, тогда как кнопка «Отправить» - это своего рода кнопка, которая по умолчанию отправляет форму всякий раз, когда пользователь нажимает кнопку «Отправить».
IE 8 фактически использует первую кнопку, с которой он сталкивается, кнопку отправки или кнопку. Вместо того, чтобы легко указывать, что нужно, сделав его тип ввода = отправить порядок на странице на самом деле имеет значение.
Следует также отметить, что именованный ввод type = "submit" будет также отправлен вместе с именованными полями другой формы, в то время как именованный ввод type = = button не будет.
Другими словами, в приведенном ниже примере именованный вход name=button1
НЕ будет отправлен, пока именованный вход name=submit1
БУДЕТ получить представлен.
Пример 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>
PHP-скрипт (checkout.php), который обрабатывает действие вышеуказанной формы:
<?php var_dump($_POST); ?>
Проверьте вышеупомянутое на своей локальной машине, создав два файла в папке с именем / tmp / test /, а затем запустив встроенный веб-сервер PHP из оболочки:
php -S localhost:3000 -t /tmp/test/
Откройте свой браузер на http: // localhost: 3000 и убедитесь сами.
Кто-то может спросить, зачем нам отправлять именованную кнопку? Это зависит от внутреннего сценария. Например, плагин WooCommerce WordPress не будет обрабатывать опубликованную страницу Checkout, если только не будет Place Order
названа названная кнопка. Если вы измените его тип от отправки на кнопку, эта кнопка не будет отправлена, и, таким образом, форма Checkout никогда не будет обработана.
Это, вероятно, маленькая деталь, но вы знаете, дьявол кроется в деталях.
<input type="button">
может использоваться где угодно, а не только в форме, и они не отправляют форму, если они находятся в одном. Намного лучше подходит с Javascript
.
<input type="submit">
следует использовать только в формах, и они отправят запрос (GET или POST) на указанный URL. Они не должны быть помещены в любое место HTML.
W3C проясняет, о спецификации об элементе Button
Кнопка может рассматриваться как универсальный класс для всех видов кнопок без поведения по умолчанию.
type='Submit'
настроен на пересылку и получение значений в BACK-END (PHP, .NET и т. д.).
type='button'
будет отражать нормальное поведение кнопки.