2009-08-05 3 views
3

Доброе утро ...Javascript: Введите ключ Нажмите

Я использую Java Script на каждой странице, чтобы вызвать Enter нажатии клавиши внутри текстового поля. Он работает нормально. Теперь я хочу поместить код в файл .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(); 
     } 
    } 

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

ответ

0

Если вы используете JQuery вы можете сделать это следующим образом:

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

Если вы хотите форму, чтобы представить, когда пользователь нажимает 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> 
9

Вы можете использовать свой параметр идентификатора вместо 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 для панели, чтобы указать, какая кнопка будет нажата, когда панель управления имеет фокус, и пользователь нажимает кнопку . Введите ключ ,