2009-11-04 3 views
1

У меня есть страница ASP.NET, которая в основном представляет собой форму поиска. Мой код для этой формы выглядит так:ASP.NET и JQuery - кнопка по умолчанию Нажмите

<form id="mainForm" runat="server"> 
    Search For: <asp:TextBox ID="searchTB" runat="server" /> 
    <input id="myButton" runat="server" type="button" value="Go" 
    onclick="disableButton(this);" onserverclick="myButton_Click" /> 

    <script type="text/javascript"> 
    function disableButton(b) { 
     b.disabled = true; 
     b.value = "Searching..."; 
    } 
    </script> 
</form> 

Этот код работает нормально, пока пользователь вручную нажимает кнопку. Однако, если пользователь нажимает клавишу «Ввод», поиск не выполняется. Мой вопрос: как установить кнопку HTML на кнопку по умолчанию на странице ASP.NET, когда задействованы скрипты на стороне клиента?

Спасибо!

+0

Вы используете jQuery? –

+0

Проблема связана с отключенной = истиной. Как отключить кнопку, но все-таки мое событие на стороне сервера? – user70192

ответ

1

Вы пробовали мероприятие onkeypress? Привяжите его к той же функции, и он должен работать.

0
+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – gevorg

0

Для входа на работу по умолчанию, ваша кнопка должна быть первой на странице, и он должен быть тип = «отправить», а не «кнопка» тип =.

Вы также можете попробовать изменить свой вход на стандартную кнопку asp.net. Если вы измените функцию javascript, чтобы вернуть значение true, сообщение по нажатию кнопки должно по-прежнему работать. Однако для привязки 2-х событий к кнопке вам может потребоваться добавить клиентскую сторону в метод загрузки страницы.

myButton.Attributes.Add("onclick", "return disableButton(this)");