Большой Воронежский Форум
» Программирование>Проблема с кавычкми
bol 09:39 26.08.2008
Добрый день. Есть ява класс, который пишет код на html страницу. Код такой:
Код:
results.append("<a href=\"#\" onclick=\"");
          results.append(jScripFunctionName);
          results.append("(");
          int k = 0;
          for (int i = 0; i < parameters.length; i++){
              if (i > 0){
                  results.append(",");
              }
              Object objParameter = getAttribute(attrHolder, parameters[i]);
                  results.append("'");
                  results.append(objParameter);
                  results.append("'");
          }
          results.append(");return false;\"");
В результате получается, что если в objParameter записана переменная с одинарными(') или двойными(") кавычками, то б браузере получается код вида (для параметров "Corp" и 'Corp' соответственно).
Код:
<a href="#" onclick="performLinkToServices('107/1/4959/1444','"Corp"');return false;">Список услуг</a>
или
Код:
<a href="#" onclick="performLinkToServices('107/1/4959/1444',''Corp'');return false;">Список услуг</a>
Браузеру IE эти строчки не нравятся. Пытался вызывать метод ResponseUtils.filter(objParameter). В результате строчки принимают вид:
Код:
<a href="#" onclick="performLinkToServices('107/1/4959/1444','&quot;Corp&quot;');return false;">Список услуг</a>
или
Код:
<a href="#" onclick="performLinkToServices('107/1/4959/1444',''Corp'');return false;">Список услуг</a>
При этом двойные кавычки ошибки перестали вызывать,а одинарные все еще продолжают. Что посоветуете? [Ответ]
alemiks 19:34 26.08.2008
значения переменных писать отдельно в теге script (экранируя двойные кавычки)
т.е.

Сообщение от :
<script>
var s = "\"'asdasd'\"";
</script>
<a onclick="performLinkToServices(s); ...

[Ответ]
Вверх