在密码文本框中输入密码后,应触发输入密钥

时间:2016-01-28 19:48:51

标签: javascript c# asp.net

我有2个用于登录和密码的ASP文本框。当我输入密码并单击输入时,应单击登录按钮。从谷歌尝试了很多,就像把它们放在一个面板中。任何人都可以帮我这个吗?

由于

Password.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + LoginRequest.UniqueID + "').click();return false;}} else {return true}; ");

2 个答案:

答案 0 :(得分:0)

我会给你一个适合我的那个,

fisrt部分添加在页面加载

txt_buscar.Attributes.Add("onkeypress", "cambiaFoco('btn_buscar')")

以及您在asp页面的标题区域中的第二部分或您放置脚本的位置

<script language="javascript" type="text/javascript">
    function cambiaFoco(cajadestino) 
    {
      var key = window.event.keyCode;              
      if (key == 13)  
        document.getElementById(cajadestino).focus();
    } </script>

只需将btn_buscar替换为您的按钮ID,将txt_buscar替换为您的密码文本框ID

答案 1 :(得分:0)

如果您向表单添加元素(例如

),浏览器可能会为您处理此问题
<button type="submit">Login</button>

我会在JavaScript之前检查HTML,我并不熟悉ASP,但我记得在类似的Web框架中看到了一些奇怪的表单安排。

如果您需要在JavaScript中执行此操作,我建议

Password.Attributes.Add("onkeydown", 
    "if(event.which && event.which == 13 || event.keyCode && event.keyCode == 13){
        document.getElementById(
           '" + LoginRequest.UniqueID + "'
        ).click();
     return true;
    "
);

您的输入字段不太可能在内容中添加新行,因此无需返回false