2013-11-21 2 views
2

Я озадачен тем, что более новая версия Chrome, Opera и Safari не позволяет управлять символами в тексте внутри элементов INPUT. Фактически, такие символы, как \1, \x02, \b и т. Д., Просто интерпретируются как ограничители строк.Публикация формы с управляющими символами

var input = document.createElement('INPUT'); 
input.value = 'Hello\x02 World!'; 
alert('input.value is "' + input.value + '" (' + input.value.length + ' chars)'); 

Приведенный выше код выводит только 5 символов в Chrome, Opera и Safari.

Firefox и IE не отображают эту функцию/ошибку/функцию безопасности или что-то еще. Теперь мой вопрос заключается в том, как вы разместите форму, содержащую эти специальные символы в простом Javascript, таким образом, что это работает во всех браузерах?

JsFiddle:http://jsfiddle.net/Nkx4n/

+0

Насколько я могу судить, часть, которая сломана, является элементом , поэтому вы не можете получить эти символы в форме в браузерах, которые интерпретируют ее как ограничитель строк. –

ответ

0

Я в хроме и, как вы, если я пытаюсь Asign на вход строку с \ в нем, он остановится, но нет никаких проблем, если пользователь вводит это на входе непосредственно, как вы можете увидеть в this fiddle

myP.innerHTML = "Length is: " + myInput.value.length + " chars" + "; text is: " + myInput.value; 

Я не знаю, если вам необходимо установить значение в коде, но если вы этого не сделаете, не должно быть никаких проблем, так как пользователь может все равно введите его, и он будет прочитан.

Смежные вопросы