Похоже, что в IE8, если вы не укажете тип кнопки, кнопка будет создана как кнопка отправки.В ФФ это не так.Стандарт HTML4 гласит, что если тип кнопки не указан, то по умолчанию он должен быть кнопкой отправки (+1 для IE!)
В IE8, если вы помещаете кнопку отправки на страницу, IE8, кажется, создает псевдо /скрытый / секретный компонент формы на уровне документа.
Теперь, если вы поместите какие-либо другие компоненты на страницу, они будут обрабатываться так, как если бы они принадлежали форме, и нажатие клавиши ввода в этом компоненте вызовет событие click наКнопка отправки.
Такое поведение можно продемонстрировать на следующем простом HTML.
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>IE8 Test</title>
</head>
<body>
<button id="b2" type="button" value="button">Button type</button>
<button id="b1">No type</button>
<button id="b3" type="submit" value="submit">Submit type</button>
<input type="text" value="text!">
<script>
document.getElementById('b1').onclick = function (e) {
alert("You Clicked Button Number 1");
};
document.getElementById('b2').onclick = function (e) {
alert("You Clicked Button Number 2");
};
document.getElementById('b3').onclick = function (e) {
alert("You Clicked Button Number 3");
};
</script>
</body>
</html>
Мое исправление состоит в том, чтобы просто указать тип кнопки в файле GWT ui.xml как type = "button».Это соответствует стандарту HTML4, который рекомендует всегда указывать тип кнопки для обеспечения совместимости во всех браузерах.