2011-02-03 6 views
0

ajaxからダウンロードしたクライアントでhtmlテンプレート(アプリケーションで電子メールテンプレートを設計するために使用される)があり、javascriptの変数に格納されています。今dojo innerHTMLに構文エラーがあります

私は私の設定しよう:

div.innerHTML=var1; 

、それは非常に奇妙な構文エラーがスローされます。

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

同じエラー:私は道場で同じことを試してみました

htmlにはテーブルはありませんが、divといくつかのイベントマップだけがあります。つまり、onblur = "funcInactive(this)"です。構文は問題ありません。

  • DIVのinnerHTMLを設定する最適な方法は何ですか?

おかげ

+0

var1の値は?問題が確実にここにあるか、またはdivが要素 – BiAiB

+0

を参照していないため、ここにエラーをコピーしてください。 「同じエラー!私たちに何か手がかりを与えません... – BiAiB

答えて

0

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; 
} 
+0

あなたの答えはGCDOに感謝しますが、私は問題を発見した小さな逆デバッグで、私はコミュニティの助けを借りて共有します。 編集:回答: – Yellowcake

2

HTMLが有効ではありませんでしたいくつかの属性、すなわち含まれる:

style="float: left" 

代わりの

style="float: left;" 

をし、

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

代わりに

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

結論:オブジェクトのinnerHTMLプロパティを無効(例えば上記)HTMLで設定されている場合

Internet Explorerは、構文エラーとしてそれを訴えます。 Safari/FF/Chromeは正常に動作します。

関連する問題