DOBON.NET DOBON.NETプログラミング掲示板過去ログ

JavaScriptの”の扱いについて

環境/言語:[JavaScript]
分類:[その他]

いつも読ませて頂いております。

いま、TextBoxに '" の値をセットしたいとコードをいろいろ
試しているのですが、
fnc1()の場合は入るのですが、fnc2(arg)の場合、onclickの
JavaScriptがだめと言われてセットできません。
昨日から、いろいろ試しているのですが、解決できないでいる
状況です。
どなたか、解決方法のわかる方がおられましたら、ご回答お願
いいたします。

<HTML lang="ja">
<HEAD>
<SCRIPT language="javascript">
function fnc1()
{
document.FrmH.Moji.value="'\"";
}
function fnc2(arg)
{
document.FrmH.Moji.value=arg;
}
</SCRIPT>

<TITLE>テスト</TITLE>
</HEAD>
<BODY>
<FORM name="FrmH">
<INPUT type="text" name="Moji" value="">
<BR>
<INPUT type="button" name="FNC1" value="FNC1" onclick="JavaScript:fnc1();">
<BR>
<INPUT type="button" name="FNC2" value="FNC2" onclick="JavaScript:fnc2('\'\"');">
<BR>
</FORM>
</BODY>
</HTML>
■No17945に返信(いがりんちゃんさんの記事)

こんにちは。

実体参照って御存知?


…っと、ここでおしまいにしてしまうとあんまりなので、ちょっと解説します。
 document.FrmH.Moji.value="'\"";

 onclick="JavaScript:fnc2('\'\"');"
の違いをよく見比べてみるといいのではないでしょうか。

なぜ上はOKで下はNGなのか。なぜ上はダブルクォートで囲まれていて下はシング
ルクォートで囲まれているのか。などなど。
あとはIEだったら、インターネットオプションの詳細設定で「スクリプトエラーごとに通
知を表示する」にチェックを入れておくと、いろいろ情報が得られるかもしれませんね。

インターネットオプションの詳細設定で「スクリプトエラーごとに通
知を表示する」にチェックを入れて実行したら、
「終了していない文字列型の定義です。」と言われました。

"が出現したら、以降は無視されるということですかね?だぶん。。。

"を書いたらダメなようなので、下記のように書き直したら動きました。
onclick="JavaScript:fnc2('\'&quot');"

実体参照って御存知でないので、不安なのですが、今の書き方を
しないといけないと言うことですよね。

たぶん、これで解決。

回答有難うございました。
解決済みにチェックするの忘れました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板