установка dojo innerHTML дает синтаксическую ошибку - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть html-шаблон (будет использоваться для разработки шаблона электронной почты в приложении) на клиенте, загруженном из ajax и хранящемся в переменной в javascript.

Теперь, когда я пытаюсь установить мои:

div.innerHTML=var1;

выдает очень странную синтаксическую ошибку.

когда я попробовал то же самое с додзё:

dojo.place(var1, div, "replace");

та же ошибка!

В html нет сценария, таблиц, есть только div и несколько карт событий, т.е. onblur = "funcInactive (this)". Синтаксис в порядке.

  • Каков оптимальный способ установки innerHTML DIV?

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

HTML содержал некоторые атрибуты, которые были недопустимыми, т.е.

style="float: left"

вместо

style="float: left;"

и

onclick="javascript:this.onClick=''"

вместо

onclick="javascript:this.onClick='';"

Вывод:

Internet Explorer жалуется на синтаксическую ошибку, когда для innerHTML объекта задан недействительный (приведенный выше пример) HTML Safari / FF / Chrome работает нормально.

0 голосов
/ 03 февраля 2011

Первый аргумент dojo.place может быть узлом div или DOM, но innerHTML получает только строку.Aparentemente вам нужно добавить косую черту в var1, если содержит сценарии:

function addslashes(str) {
    str=str.replace(/\\/g,'\\\\');
    str=str.replace(/\'/g,'\\\'');
    str=str.replace(/\"/g,'\\"');
    str=str.replace(/\0/g,'\\0');
    return str;
}
...