Javascript: нажмите клавишу ввода - PullRequest
3 голосов
/ 05 августа 2009

Доброе утро ...

Я использую java-скрипт на каждой странице, чтобы вызвать Enter , нажать клавишу Event внутри текстового поля Работает нормально. Теперь я хочу поместить код в файл .js для глобального доступа.

 function EnterKeyPress(id,e) {
       // look for window.event in case event isn't passed in
       if (window.event) { e = window.event; }
       if (e.keyCode == 13 || e.keyCode == 121) {

           window.document.getElementById('<%= ibtnSubmit.ClientID %>').click();
       } 
   }

Я не хочу жестко кодировать контрольный идентификатор. Кто-нибудь может мне помочь, пожалуйста ..

Ответы [ 3 ]

9 голосов
/ 05 августа 2009

Вы можете использовать свой параметр id вместо ControlID, и когда вы используете эту функцию на своих страницах, вы можете передать ControlID в качестве параметра:

function EnterKeyPress(id,e) {
  if (window.event) { e = window.event; }
   if (e.keyCode == 13 || e.keyCode == 121) {
     document.getElementById(id).click();
   }
}

Вы используете ASP .NET, поэтому в своем коде вы можете назначить событие нажатия клавиши:

TextBox1.Attributes.Add("onkeypress",
                      string.Format("EnterPressKey('{0}', event);", ibtnSubmit.ClientID));

Но подождите, эта функциональность уже работает в ASP .NET, вы можете использовать ASP: Panel элементы управления, чтобы обернуть ваши общие элементы управления, и вы можете назначить DefaultButton для панели чтобы указать, какая кнопка нажата, когда элемент управления Panel имеет фокус, и пользователь нажимает клавишу Enter .

0 голосов
/ 05 августа 2009

Если вы хотите, чтобы форма отправлялась, когда пользователь нажимает клавишу Enter , тогда вам не нужен javascript. Это будет сделано автоматически. Просто поместите текстовое поле внутри элемента формы с действием:

<form action="process.php">
  <input type="text">when the enter key is pressed, the form is submitted and sent to process.php</input>
</form>
0 голосов
/ 05 августа 2009

Если вы используете jQuery, вы можете сделать это так:

$("input[id*=ibtnSubmit]").click()
...