следующая проблема:
У меня есть список с кнопками, а затем текстовое поле с кнопкой для добавления новой записи. В обоих случаях кнопки списка и кнопка добавления представляют собой подпрограммы JavaScript для подтверждения действия.
Теперь у меня проблема: когда пользователь нажимает ввод в текстовом поле, вместо кнопки добавления будет вызываться первая кнопка списка. Поэтому я добавил JavaScript в событие «onkeydown» кнопки, где я использую «return false;» чтобы избежать того, что первая кнопка будет вызвана после того, как я проверил, что кнопка возврата была нажата. Это отлично работает со следующей строкой: onkeydown="if (event.that == 13) { return false; }" Но как только я добавлю какой-либо код JavaScript перед "return false;" (Мне нужно подтверждающее сообщение и некоторые другие процедуры JavaScript), браузер firefox действительно вызывает первую кнопку И код javascript в событии onkeydown... Такое поведение, похоже, не происходит в Internet Explorer.
Я часами пытался найти решение, но не могу его найти, а также не могу найти подсказку в Интернете. Так что я был бы очень рад, если бы кто-то мог помочь мне в этой проблеме?
Я попытался создать пример кода, где каждый может воспроизвести неправильное поведение. В последнем элементе управления вводом я добавил событие onkeydown. Может ли кто-нибудь сказать мне, почему Firefox отображает сообщение подтверждения первой кнопки, когда я нажимаю кнопку «Ввод» в поле ввода текста?
<html>
<head>
</head>
<body>
<form method="post" action="Test.html" id="ctl00">
<div id="divTest">
<table>
<tr>
<td>
Testline 1
</td>
<td>
<input type="submit" onclick="if (confirm('Sure?')) alert('the wrong postback'); else return false;" value="Test1" />
</td>
</tr>
<tr>
<td>
Testline 2
</td>
<td>
<input type="submit" onclick="if (confirm('Sure?')) alert('the wrong postback'); else return false;" value="Test2" />
</td>
</tr>
</table>
</div>
<table>
<tr>
<td>
Enter name:
</td>
<td>
<input type="text" size="30" onkeydown="if (event.which == 13) { alert('test'); return false; }" />
</td>
<td>
<input type="submit" title="Add it" onclick="alert('the correct postback')" />
</td>
</tr>
</table>
</form>
</body>