кнопка в форме вызывает его быть отправленной автоматически

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

<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>

То, что является weired мне в этом коде, - то, что путем нажатия кнопки в форме, все, что я хочу, должно выполнить некоторое действие JavaScript, но в конечном счете это заставляет форму быть отправленной также, даже когда я не готов сделать это.
Таким образом - действительно ли это верно? и раз так как я могу выполнить некоторый сценарий Java actoin в от, но препятствовать тому, чтобы форма была отправлена автоматически?

22
задан Spiderman 13 March 2010 в 21:11
поделиться

2 ответа

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

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

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

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

<button type="button" onclick="dosomething()">Press</button>
38
ответ дан 29 November 2019 в 04:46
поделиться

Из документации IE для элемента button:

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

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

2
ответ дан 29 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: