2011-10-14 51 views
0

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

<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值添加\的语法。

回答

0

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

尝试'\\'以获得代码中的斜杠或'\\\\'得到两个斜线,这会通过一个斜线将另一个斜线向下。

+0

很好的答案!这对我有效。谢谢! –

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这样的事情意味着新行,所以有一个\你需要第二个反斜杠,lik Ë\\

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