从href单击输入文本

时间:2014-07-09 14:27:45

标签: javascript input href

我尝试创建像"虚拟"键盘,用于在文本框中输入一些特殊字符。以下实施在Chrome中正常运行,但在其他浏览器中无效。

如何修改它以在大多数浏览器(FF,IE,Chrome)中工作,并且在我需要多个输入字段的情况下还支持插入位置?

代码如下:

<html>
<head>
<style type="text/css">
.key {
    padding: 10px;
    margin: 0px;
    background-color: #f3f3f3;
    display: inline-block;
    }
</style>
</head>
<body>

<form name="form1">

Text: <input type="text" name="field1"><br>
<br>

<a href="javascript:document.form1.field1.value=document.form1.field1.value+'&#198;';return false;" class="key">&#198;</a> 

<a href="javascript:document.form1.field1.value=document.form1.field1.value+'&#248;';return false;" class="key">&#248;</a> 


</form>

</body>
</html>

我也试过改变这个

<a href="javascript:document.form1.field1.value=document.form1.field1.value+'&#198;';return false;" class="key">&#198;</a>

到此:

<a href="javascript:document.forms("form1").field1.value=document.forms("form1").field1.value+'&#198;';return false;" class="key">&#198;</a>

1 个答案:

答案 0 :(得分:1)

有很多不同的方法可以做到这一点,我附加了事件处理程序。我推荐JQuery .on()或.click()事件。另外,尽量不要使用内联JS,这是非常糟糕的做法。

var Key248Btn = document.getElementById('Key248Btn');
Key248Btn.addEventListener("click", Key248_Click, false);

function Key198_Click()
{
    textEntryField.value += "\u00e6";
    return false;
}

http://jsfiddle.net/HGDZ3/3/