2017-07-04 14 views
0

わかりました。私はいつもアポストロフィをエスケープするとJavaScript文字列で使用して引用符を壊さないと思っていました。JavaScriptでエスケープされたアポストロフィの問題

<a class="btn btn-danger" onclick="deleteAgenda(2056, 'PJ&#39;s Happy 4th of July New Agenda', '7/20/2017 5:15:00 PM');"> 

をそして私はエラーを取得しています:

しかし、私は、次のJavaScript呼び出しを持っている

Uncaught SyntaxError: missing) after argument list 

それはChromeとIEの両方に障害が発生しました。

エスケープアポストロフィを使用せずに同じ呼び出しを行うと、機能します。

JavaScript文字列でエスケープアポストロフィを使用できない場合、どのようにエスケープする必要がありますか?

おかげで、あなたのJavaScript内からHTML character entitiesを使用しようとしているためだ

フィリップ

+2

この種のトラブルを避ける最も簡単な方法は、インラインJavaScriptの使用をやめることです。オンクリックは90年代だから... – georg

+0

@georgの代わりに? –

+0

あなたはブートストラップを使用しているようですので、jqueryを試してみてください。http://api.jquery.com/on/ – georg

答えて

2

。あなたはJavaScriptでアポストロフィをエスケープするために必要なすべてのバックスラッシュ('PJ\'s ... ')とアポストロフィを前置きすることです:

function deleteAgenda(one, two) { 
 
    console.log(two); 
 
}
<a class="btn btn-danger" onclick="deleteAgenda(2056, 'PJ\'s Happy 4th of July New Agenda', '7/20/2017 5:15:00 PM');">Hi there</a>

は、この情報がお役に立てば幸い! :)

+0

ありがとうございました!私はC#でこれを書いているので、それを実装するのは苦痛だったので、バックスラッシュを3回エスケープして動作させましたが、それを修正しました! –

関連する問題