.NET Отправить огонь раньше, чем Javascript onKeypress - PullRequest
0 голосов
/ 09 декабря 2008

Я пытаюсь использовать onkeypress на элементе управления 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 ]

0 голосов
/ 09 декабря 2008

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

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

0 голосов
/ 09 декабря 2008

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

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

<input id="TextID" type="text" onkeypress="return SearchSiteSubmit('TextID', event)" />
0 голосов
/ 09 декабря 2008

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

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

...