0

我使用以下示例代码创建了一个虚拟键盘。

<script type="text/javascript">
function vkb(vap){
document.forms["virtual"]["text"].value += vap;
}
</script>
<form name="virtual">
<input type="text" name="text"/>
<input type="button" onclick="vkb('a')" value="a" style="border:none;"/>
</form>

此代码无法接受', and \符号。然后我以下面的方式修改了我的代码

<script type="text/javascript">
    function vkb(vap){
    document.forms["virtual"]["text"].value += vap;
    }
    function vkb1(){
    document.forms["virtual"]["text"].value += "'";
    }
    </script>
    <form name="virtual">
    <input type="text" name="text"/>
    <input type="button" onclick="vkb('a')" value="a" style="border:none;"/>
    <input type="button" onclick="vkb1()" value="'" style="border:none;"/>
    </form>

现在我终于遇到了问题,只有\我无法使用我的虚拟键盘添加这个笔画。任何人都可以帮助我如何添加\到文本框?其他人请向我提供\使用 asci 值添加的语法。

4

2 回答 2

2

太长了,没看:-)

试试这个:

<script type="text/javascript">
    function vkb(vap) 
    {
        document.forms["virtual"]["text"].value += vap.value;
    }
</script>
<form name="virtual">
    <input type="text" name="text"/>
    <input type="button" onclick="vkb(this)" value="a" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value="\" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value="'" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value='"' style="border:none;"/>
</form>

优点是您不必写两次密钥的字母:-)

您的问题是某些字符有时需要转义(例如,\在 javascript 中,它用于执行类似\n换行的操作,因此\您需要使用第二个反斜杠对其进行转义,例如\\

尝试在这里运行它例如http://jsfiddle.net/T9Ptd/1/http://jsbin.com/uhakaq/3/edit

于 2011-10-14T18:29:06.953 回答
0

我不知道您是否包含足够的细节来回答您的问题。但请记住,'\' 字符在 javascript 中用作转义字符。这意味着您有时需要将其加倍,有时甚至更多,具体取决于您要通过的解释级别:

尝试使用“\\”在代码中添加一个斜线,或者尝试使用“\\\\”来获取两个斜线,这会将一个斜线传递到另一层。

于 2011-10-14T18:33:24.233 回答