Подтвердить что ты не робот

Кнопку в форме, потому что она будет отправлена ​​автоматически

В последнее время изменилась версия HTML (например, от ie7 до IE8?) Я замечаю следующее изменение, которое вызывает у меня некоторый troulbe - У меня есть код, похожий на этот:

<form method="POST" action="/admin/modify">
<input type="text"/>
<button onclick="dosomething()">Press</button>
</form>
<script type="text/javascript">
function doSomething(){
// doesn't matter what actually
}
</script>

Что мне нужно в этом коде, так это то, что, нажимая кнопку внутри формы, все, что я хочу, - это выполнить какое-то действие javascript, но eventaully также вызывает отправку формы, даже если я не готов это сделать,
Итак - это правда? и если да, то как я могу выполнить какой-либо java script actoin внутри a, но предотвратить автоматическую отправку формы?

4b9b3361

Ответ 1

Согласно W3schools, submit - это новое действие по умолчанию для элементов button в IE 8:

Всегда указывайте атрибут типа для кнопки. Тип по умолчанию для Internet Explorer - "button", тогда как в других браузерах (и в спецификации W3C) он "отправляется".

Поэтому, если вы не укажете тип, форма будет отправлена ​​во всех браузерах, но не в IE 7.

это должно работать:

<button type="button" onclick="dosomething()">Press</button>

Ответ 2

В документах IE для элемента :

Internet Explorer 8 и более поздних версий. Значение по умолчанию этого атрибута зависит от текущего режима совместимости документов. В режиме IE8 значение по умолчанию - submit. В других режимах совместимости и более ранних версиях Internet Explorer значением по умолчанию является кнопка.

Стандарт предполагает, что тип по умолчанию submit, предыдущие версии IE некорректно по умолчанию были button