762 バイト追加
、 2020年2月15日 (土) 07:33
==シングルクォートのエスケープ==
innerHTML を利用して動的にinput タグを生成する場合等、以下のように(value='')しシングルクォートを利用するが、
xx.innerHTML = "<input type='text' value='" + val + "'/>";
この場合、valにシングルクォートが含まれる場合、正しく動作しない。
ダブルクォートを使用(value=\"\")し、" に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる(本来は、引用符以外のHTML特殊文字も置き換えるべき)
xx.innerHTML = "<input type='text' value=\"" + val.replace(/"/i, """)+ "\"/>";
{{ref quote_escape.lzh}}
----
{{include_html banner_html, "!Javascript"}}