2016-08-15 96 views
1

这是手持扫描仪网站(PocketPC)的一个页面,所以为了便于在键盘上按下数字1时处理设备,提交底部1。我不知道为什么它不适合我。按键提交表格

function check1(e) { 
 
    if (e.KeyCode == 49) { 
 
    document.forms[0].submit(); 
 
    } 
 
}
<form id="form1" name="form1" method="post" action="test.php"> 
 
    <input type="submit" name="button" id="button" value="Submit" onkeypress="check1(event)" /> 
 
</form>

感谢

+0

难以帮助你的这么一点细节。 “不工作”是什么意思?重现错误的[plunker](https://plnkr.co/)将帮助 – Tdy

+0

@Tdy完成。代表OP进行了编辑。 – Iceman

回答

1

您需要事件附加到整个文档,而不是在这种情况下,只是<input>。这是因为如果<input>不重要,您希望触发操作事件。你的代码只有在焦点时才被激活。

我所作出的改变:

HAVE A看片段:

document.addEventListener("keypress", function(event) { 
 
    var keycode = (event.keyCode ? event.keyCode : event.which); 
 
    if (keycode == '49') { 
 
    document.forms[0].submit(); 
 
    } 
 
});
<form id="form1" name="form1" method="post" action="test.php"> 
 
    <input type="submit" name="button" id="button" value="Submit"/> 
 
</form>

+0

批准你的编辑。是的“不需要'onkeypress'”了。 – Iceman

0

上触发整个文档的onkeypress事件,而不是你输入按钮。所以,你需要设置你的事件处理程序,如下所示:

var form1 = document.getElementById('form1'); 
document.addEventListener('keypress', function (e) { 
    if (e.keyCode === 49) { // note camel casing: keyCode, not KeyCode 
     form1.submit(); 
    } 
}); 
+0

它不适用于我,按键号码1时没有任何反应。但是,如果我将keyCode更改为13(输入密钥)它的工作原理。 – Fares

0

它的工作:

$(function(){ 
    $('*').keyup(function(e){ 
     if(e.keyCode=='49'){ 
     document.forms[0].submit(); 
     }  
    }) 
}) 
0

一个jQuery方法

$(document).on('keypress',function(e){ 
if(e.keyCode === 49){ 
    $('#form1').submit(); 
} 
})