データベースからフェッチしているユーザー入力をエンコードし、クリック時にテキストエリアに挿入しようとしています。これは、データをエンコードし、ユーザーをテキストエリア アンカーに送信し、関数をトリガーするコードです。
$quote = "[url]" . $quote . "[/url]";
$quote = htmlspecialchars($quote, ENT_QUOTES);
$quote = json_encode($quote, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo "
<a href='#quickpost' value='quote'
onClick=\"quote(" . $quote . ")\" name='quote'>Quote</a>
quote() 関数は次のとおりです。
function quote(originalpost){
oFormObject = document.forms['id1'];
oFormObject.elements['post'].value = originalpost;
};
クリックすると、firebug で次のエラーが発生します: SyntaxError: syntax error Line 1
私は JavaScript に関してはまったくの初心者なので、まったく明らかなことを見落としている可能性があります。私はこれについて多くの異なるエンコーディングオプションと物事を調べて試しましたが、どこにも行きません.