Виртуальная клавиатура с использованием кодов ASCII - PullRequest
0 голосов
/ 14 октября 2011

Я создал виртуальную клавиатуру со следующим примером кода.

<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.

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Слишком долго, не читал: -)

Попробуйте это:

<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

0 голосов
/ 14 октября 2011

Я не знаю, что вы включили достаточно деталей, чтобы ответить на ваш вопрос.Имейте в виду, однако, что символ '\' используется как escape-символ в javascript.Это означает, что вам иногда нужно удвоить его, а иногда даже больше, в зависимости от того, через сколько уровней интерпретации вы проходите:

Попробуйте '\\', чтобы получить косую черту в коде, или '\\\\ 'чтобы получить две косые черты, которые передают одну косую черту другому слою вниз.

...