JavaScript, исключающий значения формы - PullRequest
0 голосов
/ 01 декабря 2011

Я знаю, что JavaScript избегает вопросов, но, похоже, ничего не отвечало моим потребностям.

У меня есть элементы textarea, которые динамически отображаются на JSP. В случае неверной отправки формы мне нужно заполнить эти поля значениями, введенными пользователем. Я делаю это так (примечание: упрощенная версия):

var textareaBox = document.getElementById("myTextArea");
if (textareaBox) {
    textareaBox.value = '${myForm.myValue}';
}

Все работает нормально, пока пользователь не введет значение в поле, содержащее специальные символы. Я пробовал использовать функции JavaScript escape и unescape по отдельности и комбинировать безрезультатно.

Кто-нибудь знает, как я могу обрабатывать эти специальные значения символов? Обратите внимание, что я, очевидно, не хочу экранированный текст в текстовой области, поскольку это не будет хорошо выглядеть для пользователей.

1 Ответ

2 голосов
/ 01 декабря 2011

Используйте тег JSTL <c:out>, чтобы убрать его и назначить как innerHTML текстовой области:

textareaBox.innerHTML = '<c:out value="${myForm.myValue}" />';

Но почему бы вам просто не отобразить его непосредственно в теле текстовой области без необходимости использования JS?

<textarea id="myTextArea"><c:out value="${myForm.myValue}" /></textarea>

<c:out> (и его аналог функции EL fn:escapeXml()) экранирует специальные символы XML.

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...