0

スペースと特殊文字を含む文字列を渡そうとしていますが、エラーが発生し、何も機能しません。例えば

 <img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" >

しかし、文字列celebritynews&gossip内の「&」はコードを壊しています。

問題がaddKeyword機能していることがわかりました。次のコードを使用して、urlという名前の変数を定義しました。

function addKeyword(categoryId){
var url = "addKeyword.php?uid=" + user_id + "&categoryId=" + categoryId + "&keyword=" + $("#keyword_" + categoryId).attr("value");
}

$( "#keyword_" + categoryId)が問題を引き起こしています。それを解決する方法はありますか?

4

3 に答える 3

3

URLで文字列を渡すと仮定すると、パラメータ値はURLエンコードされている必要があります。

...要約編集..。

&HTMLとして解釈され、特にHTMLでエンコードされている必要があります&amp;

HTML

<img onclick='addKeyword("celebritynews&amp;gossip");' src="images/plus.png" />

JavaScript

encodeURIComponent(s)を使用します。

var url = "addKeyword.php?uid=" + encodeURIComponent(user_id) + "&categoryId=" + encodeURIComponent(categoryId) + "&keyword=" + encodeURIComponent($("#keyword_" + categoryId).attr("value")); 
于 2012-09-14T15:21:35.610 に答える
1

試す

<img onclick="addKeyword('<?php echo htmlspecialchars('celebritynews&gossip'); ?>')" src="images/plus.png" >
于 2012-09-14T15:54:41.957 に答える
0

このテキストをページに書き込んでいると仮定するとhtmlspecialchars、HTMLで適切にエスケープされていることを確認するために使用できます。

例えば:

<?php echo htmlspecialchars("celebritynews&gossip"); ?>

それは役に立ちますか?

于 2012-09-14T15:24:20.403 に答える