Страница ASP.Net введите ключ, вызывающий сообщение назад
У меня есть aspx-страница, в которой postback когда это не должно. на странице есть два текстовых поля, два списка и две кнопки. если в любой точке нажата клавиша ввода, первая кнопка получает фокус и "щелкнет", что приведет к потере выбора в списке.
Как отключить это? есть тонны учебников о том, как захватить кнопку ввода и выполнить метод, но я мог бы найти способ просто отключить опрятную "позвольте мне воспользоваться первой кнопкой, которую я нахожу и щелкнуть по ней", упомянутой выше.
Ответы
Ответ 1
- Вы можете установить DefaultButton в форме или панели. Таким образом, вы полностью контролируете происходящее.
- Установите UseSubmitBehavior = "False" на ваших кнопках. Это отключает "Автоповтор" при вводе.
Я предпочел бы второй, если бы я хотел полностью предотвратить использование Postbacks на Enter.
Ответ 2
Вы используете jQuery?
если так:
$(document).keypress(function(e)
{
if(e.keyCode === 13)
{
e.preventDefault();
return false;
}
});
Ответ 3
Используйте приведенный ниже код, чтобы отключить клавишу ввода, вызывающую обратную передачу. Этот фрагмент кода блокирует ключ ввода во всех браузерах 4.0 выше, за исключением случаев, когда ввод нажат в Textarea или на самой кнопке Submit.
<script language="JavaScript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = MicrosoftEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') {
return false;
}
return true;
}
function MicrosoftEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' &&
event.srcElement.type!= 'submit')
return false;
return true;
}
</script>
Ответ 4
Поместите это на себя. Управление ASP.NET TextBox:
<asp:TextBox ID="TextBox1" runat="server"
onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
Ответ 5
Это поведение по умолчанию для веб-приложения, вы можете взять один из найденных вами урок и скрыть это поведение, просто отказавшись от отправки.
Ответ 6
<body onkeydown = "return (event.keyCode!=13)">