1

コード内のいくつかの関数に非常に不満を感じています。ユーザーがリンクをクリックすると起動する関数がいくつかあります。
パラメータは両方の関数に正しく送信されますが、ユーザーがリンクをクリックするdetailplaceと、参照エラーが発生します。これSomeNameは未定義です。関数の詳細は問題なく機能しているようです。なぜ機能detailするのに機能detailplaceしないのですか?

HTML

<a href="javascript:detail(123456);">Details</a>
<a href="javascript:detailplace(SomeName);">Details</a>

Javascript

function detail(property) {
    var summaryhtml = '<iframe src="' + URL + property + '" width="340px" height="400px" frameborder="0" class="sum_frame"></iframe>';
    document.getElementById('itab1').innerHTML = summaryhtml;
}

function detailplace(place) {
    var summaryhtml = '<iframe src="' + URL + place + '" width="340px" height="400px" frameborder="0" class="sum_frame"></iframe>';
    document.getElementById('itab1').innerHTML = summaryhtml;
}

私はあなたのアドバイスを受けて、引用符を含むようにコードを編集しました。問題は、JavaScriptでリンクを作成していることです。SomeNameは、他の場所で文字列として定義されています。

link = '<a href="javascript:detailplace(&quot;';
link += SomeName;
link += '&quot;)";>Site Details</a>';

文字列をパラメータとして送信できるように、引用符内の引用符内の引用符をエスケープする正しい方法は何ですか?

4

3 に答える 3

2

あなたはで包む必要がありSomeNameますquotes

<a href="javascript:detailplace('SomeName');">Details</a>

引用符なしで渡すとjavascript、変数であると見なされますundefined

于 2012-12-04T13:17:29.393 に答える
1

SomeName上記は文字列としてではなく変数として使用されています。引用符がありません。

<a href="javascript:detailplace('SomeName');">Details</a>

SomeName引用符なしで、入力する場所の名前を保持するという変数を探しています。わかる?

于 2012-12-04T13:17:55.883 に答える
1

が以前に定義された変数ではなく、メソッドに渡す実際のリテラルテキストである場合SomeNameは、引用符で囲む必要があります。

javascript:detailplace('SomeName');
于 2012-12-04T13:18:03.257 に答える