Подтвердить что ты не робот

Страница ASP.Net введите ключ, вызывающий сообщение назад

У меня есть aspx-страница, в которой postback когда это не должно. на странице есть два текстовых поля, два списка и две кнопки. если в любой точке нажата клавиша ввода, первая кнопка получает фокус и "щелкнет", что приведет к потере выбора в списке.

Как отключить это? есть тонны учебников о том, как захватить кнопку ввода и выполнить метод, но я мог бы найти способ просто отключить опрятную "позвольте мне воспользоваться первой кнопкой, которую я нахожу и щелкнуть по ней", упомянутой выше.

4b9b3361

Ответ 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)">