将表单输入值设置为“”无法清除空格
-
29-09-2019 - |
题
我正在尝试在JavaScript中实现命令行模拟器。我想要 Spacebar
关键 Enter
(提交,然后清除命令行)。
在这篇文章中,让我们代表 space
作为一个下划线,所以 _
方法 [space]
:
如果我输入 banana_
然后,在捕获按键后,我打电话给 input.value= ""
, ,它清除了 banana
, ,但不剩下 space
.
我两者都测试过 onkeydown
和 onkeypress
, ,但这似乎没有任何区别。实际上, onkeyup
解决问题,请参阅下面的答案!
这是我的代码。有人可以帮我删除额外的空间...
<html><head>
<script type="text/javascript">
document.onkeypress = keyCheck;
function keyCheck( e ) {
var keyID = (window.event) ? event.keyCode : ( e.keyCode ? e.keyCode : e.charCode );
switch(keyID) {
case 32: //spacebar
alert( "space pressed, clearing..." );
document.getElementById( "cli" ).value="";
break;
default:
//do something else
break;
}
}
</script>
</head>
<body>
<form name="frm" id="frm" onSubmit="go( this )">
<input name="cli" id="cli" type="text" name="cmd" size="122">
</body>
</html>
解决方案
不隶属于 StackOverflow