Javascript : Enter Key Press

半世苍凉 提交于 2019-12-01 07:31:28

问题


Good Morning...

I am using java script in each page to trigger the Enter key press Event inside the textbox. It is working fine. Now i want to place the code in the .js file for global access.

 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();
       } 
   }

I dont want to hard code the control id. Can anybody help me please..


回答1:


You can use your id parameter instead of the ControlID, and when you use this function in your pages, you can pass the ControlID as a parameter:

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

You are using ASP .NET, so in your code-behind you can assign the keypress event:

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

But wait, that functionality is already done on ASP .NET, you can use ASP:Panel controls to wrap your common controls, and you can assign a DefaultButton for the panel to indicate which button gets clicked when the Panel control has focus and the user presses the Enter key.




回答2:


If you're using jQuery you can do it like this:

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



回答3:


If you want the form to submit when the user presses the Enter key, then you don't need javascript. It will do so automatically. Just put the textbox inside a form element with an action:

<form action="process.php">
  <input type="text">when the enter key is pressed, the form is submitted and sent to process.php</input>
</form>


来源:https://stackoverflow.com/questions/1231327/javascript-enter-key-press

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!