версия 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 в от, но препятствовать тому, чтобы форма была отправлена автоматически?
Согласно W3schools , submit
- это новое действие по умолчанию для элементов button
в IE 8:
Всегда указывайте атрибут типа для кнопки. Типом по умолчанию для Internet Explorer является «кнопка», тогда как в других браузерах (и в спецификации W3C) это «отправить».
Таким образом, если вы не укажете тип, форма будет отправлена во всех браузерах, но не в IE 7.
это должно работать:
<button type="button" onclick="dosomething()">Press</button>
Из документации IE для элемента button:
Internet Explorer 8 и более поздние версии. Значение по умолчанию этого атрибута зависит от текущего режима совместимости документа. В режиме IE8 значением по умолчанию является submit. В других режимах совместимости и более ранних версиях Internet Explorer значение по умолчанию - button.
Стандарт предлагает тип по умолчанию submit
, в предыдущих версиях IE по умолчанию неверно принимался тип button