このコードは、要素のinnerHtmlの一部としてページのHTMLに挿入されます。クリックするとボタンのようなスパンが作成され、一定のテキストとその下のテキスト「Thiswindow」を持つJQueryUIウィンドウが開きます。JQuery HTML文字列にHTMLにスペースが含まれている場合のリテラルエラー
SyntaxError: unterminated string literal
それはコードを壊すこと、どこでもこのHTMLには、スペースの存在だ:私はテキストを変更した場合
string custom_training_html = "Thiswindow"; // Note this line here.
link = "<span class=\"start_course_button\" onclick=";
link += "javascript:$(\"#temp_test_window\").dialog({minWidth:800,minHeight:600});$(\"#temp_test_custom_html\").html('" + custom_training_html + "');>Test JQueryUI";
link += "</span>\n";
しかし、「このウィンドウ」に、私が得る「Thiswindow」。このサイトの他の質問は、問題はHTMLの改行であると言いますが、私は何も持っていないと思います。私はちょうど<span>
コードを含む文字列を構築しています。作業バージョンと非稼働バージョンの唯一の違いは、スペース文字が含まれていることです。どうしましたか? FYI
、次のようにルックスを開けますウィンドウ:
<div id="temp_test_window" title="Chaucer's Prologue (The Monk)">
A monk there was, one made for mastery<br />... [snip]
<div id="temp_test_custom_html">Content Goes Here</div>
</div>
EDIT:私は、独自の機能にJSを置くためのコードをクリーンアップしましたが、それは問題を解決していません。私のメインの.aspxファイルでは私が持っている:
function GenerateTestTrainingContent(content)
{
$('#temp_test_window').dialog({minWidth:800,minHeight:600});
$('#temp_test_custom_html').html(content);
}
[and later, outside the <script> tags:]
<div id="temp_test_custom_html">Content Goes Here</div>
そして.aspx.csで
は、私が「リンク」などの一部のHTMLを作成し、このコードを持っているファイル:私のリンクを与え、作品link = "<span class='start_course_button' onclick=javascript:GenerateTestTrainingContent('OneWord');>";
link += "Test JQueryUI</span>\n";
テキスト "OneWord"が現れるポップアップJQueryUIウィンドウを呼び出す。私は同じコードで「一つの言葉」に「1ワード」を変更する場合は、私が取得:
SyntaxError: unterminated string literal
javascript:GenerateTestTrainingContent('One
だから、再び、全くスペースは=作品は、任意のスペース=は動作しません。
、あなたは常にそれらのキーワード「VAR」を使用して... –
私が指摘しておく必要があります。上記のコードは、JSを作成し、C#です。文字列変数はC#変数です。 – Snow
C#エラーは、文字列が正しく終了していないことを示しています。しかし、文字列の特定の文字列または部分を示すものではありません。私は 'onclick'属性の内容の引用ラッパーがないと思われます。また、混乱を避けるためにJSコードを独自のスクリプトブロックに移動することをお勧めします。 – Twisty