我正在尝试实现一个JavaScript代码:
1-获取用户在HTML表单输入文本
中输入的字符2-获取字符键代码
3-用阿拉伯语显示与以前的键代码
相对应的不同字符例如,如果用户按"A"按钮,我将在输入文本字段中显示"ض"。我试过这段代码,但它不起作用:
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction(e)
{
var keyCode = (window.event) ? e.which : e.keyCode;
if (keyCode == 65)
document.getElementById("firstname").innerHTML="ض";
}
</script>
</head>
<body>
<FORM action="http://somesite.com/prog/adduser" method="post">
<P>
<LABEL for="firstname">First name: </LABEL>
<INPUT type="text" id="firstname" onkeydown="myFunction()"><BR>
</P>
</FORM>
</body>
</html>
代码块只针对一个字符尝试,如果这有效,我将能够为其余字符实现算法。
有关此主题的任何帮助将不胜感激!
您有几个问题:
- 通过将
onkeydown
属性设置为myFunction()
,可以在没有任何参数的情况下调用该函数。无论如何,在脚本中执行事件绑定会更方便(这样您就不必在 HTML 中进行脚本调试),但这也允许您为事件参数指定e
参数。 - 您正在尝试设置
innerHTML
,但它应该是value
的 —<input>
没有innerHTML
,因为它们是自闭合的。 - 您可能还希望
return false
顶部停止将a
添加到ض
之后
的值
在这里演示
window.onload = function(){
document.getElementById("firstname").onkeydown = function myFunction(e){
var keyCode = window.event ? window.event.keyCode : e.which;
if (keyCode == 65){
this.value += "ض";
return false;
}
}
}