1

これを行う適切な方法は何ですか?

$chatterhtml .= '<span style="float:right;" >
          <a href="javascript:void(0);" onClick="deletecmnt(this, "'.$val['id'].'", "'.BASE_URL.'");" title="Delete Chatter">x</a>
                </span>';

Firefox でエラーが表示されSyntaxError: syntax error deletecmnt(this,ますが、入力テキストからテキスト領域に変更するまではうまくいきました。

4

2 に答える 2

1

問題は、引用符を使用してjavascriptとHTMLの値を区切ることです。結果は次のようになります: onClick="deletecmnt(this, "0", "someurl.html");" これは無効です。onClick hereは切り捨てられonClick="deletecmnt(this, "、残りは無効なHTML属性データとして扱われます。

代わりに、次のようなことを行う必要があります。

$chatterhtml .= "<span style=\"float: right;\">" .
  "<a href=\"javascript:void(0);\" onclick=\"deletecmnt(this, '" . $val['id'] . "', '" . BASE_URL . "');\" title=\"Delete Chatter\">x</a>" .
  "</span>";
于 2013-02-27T06:25:34.207 に答える
1

結果の HTML が無効です。エスケープされていない二重引用符内に二重引用符があります。これを試して

$chatterhtml .= '<span style="float:right;" ><a href="javascript:void(0);" onClick="deletecmnt(this, \''.$val['id'].'\', \''.BASE_URL.'\');" title="Delete Chatter">x</a></span>';
于 2013-02-27T06:28:33.223 に答える