「JavaScript シングルクォートのエスケープ」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==シングルクォートのエスケープ== innerHTML を利用して動的にinput タグを生成する場合等、以下のように(value='')しシングルクォ…」) |
|||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
==シングルクォートのエスケープ== | ==シングルクォートのエスケープ== | ||
− | + | inner[[HTML]] を利用して動的にinput タグを生成する場合等、以下のように(value='')しシングルクォートを利用するが、 | |
− | xx. | + | xx.inner[[HTML]] = "<input type='text' value='" + val + "'/>"; |
この場合、valにシングルクォートが含まれる場合、正しく動作しない。 | この場合、valにシングルクォートが含まれる場合、正しく動作しない。 | ||
− | ダブルクォートを使用(value=\"\")し、" に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる( | + | ダブルクォートを使用(value=\"\")し、" に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる(本来は、引用符以外の[[HTML]]特殊文字も置き換えるべき) |
− | xx. | + | xx.inner[[HTML]] = "<input type='text' value=\"" + val.replace(/"/i, """)+ "\"/>"; |
{{ref quote_escape.lzh}} | {{ref quote_escape.lzh}} | ||
---- | ---- | ||
− | {{include_html banner_html, "!Javascript"}} | + | {{include_html [[banner_html]], "!Javascript"}} |
2020年2月16日 (日) 04:27時点における最新版
シングルクォートのエスケープ
innerHTML を利用して動的にinput タグを生成する場合等、以下のように(value=)しシングルクォートを利用するが、
xx.innerHTML = "<input type='text' value='" + val + "'/>";
この場合、valにシングルクォートが含まれる場合、正しく動作しない。 ダブルクォートを使用(value=\"\")し、" に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる(本来は、引用符以外のHTML特殊文字も置き換えるべき)
xx.innerHTML = "<input type='text' value=\"" + val.replace(/"/i, """)+ "\"/>";
{{include_html banner_html, "!Javascript"}}
© 2006 矢木浩人