.NET Отправить огонь раньше, чем Javascript onKeypress

Я пытаюсь использовать onkeypress для элемента управления input type="text", чтобы отключить JavaScript, если нажата кнопка ввода. Это работает на большинстве страниц, но у меня также есть некоторые страницы с пользовательскими элементами управления.NET.

Проблема в том, что.NET отправляет сообщения об ошибках перед нажатием клавиши. У кого-нибудь есть понимание того, как сначала запустить огонь на клавиатуре?

Если это поможет, вот мой JavaScript:

 function SearchSiteSubmit(myfield, e)
{
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    else 
        return true;
    if (keycode == 13)
    {
        SearchSite();
        return false;
    }
    else 
        return true;
}

3 ответа

Решение

Как вы назначаете JavaScript?

Это должно выглядеть так:

<input id="TextID" type="text" onkeypress="return SearchSiteSubmit('TextID', event)" />

Это не очень понятный вопрос, поэтому я попробую -

Похоже, вы ищете здесь клавишу ввода. Похоже, проблема заключается в том, что клавиша "ввод" обычно привязывается к кнопке отправки в форме автоматически браузером, что означает, что когда пользователь нажимает клавишу ввода, вы отправляете форму, а не запускаете имеющийся здесь javascript. Что вы должны сделать - это создать глобальный обработчик событий, который проверяет, находится ли "MyField" в фокусе при нажатии кнопки ввода, и, если это так, запускает JavaScript, а не отправляет форму. Надеюсь, я понял ваш вопрос!

Javascript OnKeyPress всегда будет срабатывать первым, это скорее случай погоду или он не завершил свою работу до того, как страница будет отправлена ​​обратно.

Я бы сказал, переосмыслить, что происходит и где.. Что происходит на стороне сервера?

Другие вопросы по тегам