- 締切済み
HTMLについて
HTMLについて分からない事がありますので、ご教授願います。 <INPUT TYPE=TEXT NAME=TEST VALUE="abc"def"> 上記のように、テキストボックスに「abc"edf」を初期表示させる1文を書きました。 しかし、「abc」しかテキストボックスには初期表示されません。 原因は「abc」の次にある「"」がVALUEに代入する文字列の最後とみなされている ためなのですが、文字列中の「"」を文字として認識させて「abc"def」と初期表示 させたいのですが、何か良い方法はないでしょうか? 実は、powerscriptでプログラミングをしています。 そのため、VALUEに指定する文字列は変数を指定していますので、 「VALUE=''」にしてもその変数に「'」が入力されていたら同じ現象が生じてしまいます。 なんとか、「"」を文字として認識させる方法はないのでしょうか?
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- ベストアンサー率20% (1/5)
私は今までいろいろな言語で Web アプリケーションを開発してきたのですが selenity さんが言われている 4 キャラクタの置換は必須です。 質問されている画面は、確認ページのようなものだと思いますが </BODY> や CSS を入力された場合はどうなりますか? 操作者がだれか分かりませんが、第三者に Javascript などの ロジックを入力された場合、致命的なセキュリティホールになる可能性も あります。 出すぎたことを言うようですが、 急いでおられるのは納期がせまっている(過ぎている?)からだとと思いますが ユーザさんにご相談されてはどうでしょうか?
- msystem
- ベストアンサー率42% (79/186)
私もselenityさんと同意見です。 HTMLの仕様ですから「"」にすべきだと思います。 valueの部分が変数ならなおさらです。 プログラムをしているのだから、仕様に合うように文字変換をするべきだと思います。
- selenity
- ベストアンサー率41% (324/772)
普通であれば不等号は「<」、「>」、 ダブルクォートは「"」 アンパーサント(&)は「&」 の様に記述するのが筋だと思うのですが、、、
- 1986
- ベストアンサー率22% (113/506)
<INPUT TYPE=TEXT NAME=TEST VALUE="abc\"def"> と、「"」の前に「\」を入れてみてはどうですか?
- meke2
- ベストアンサー率41% (16/39)
このように <INPUT TYPE=TEXT NAME=TEST VALUE='abc"def'> 「'」で囲めば「"」が表示されるようにも出来ますよ~
- madman
- ベストアンサー率24% (612/2465)
<INPUT TYPE=TEXT NAME=TEST VALUE="abc"def"> です。 「"」で囲まれた場合は"で「"」を表記します。
- gillian
- ベストアンサー率38% (5/13)
「"」は、「"」と入力すればいいですよ。 従って、 <INPUT TYPE=TEXT NAME=TEST VALUE="abc"def"> と書けばいいと思います。 Dreamweaverだと、このあたりはちゃんと変換してHTMLにしてくれるので、便利ですよ。
補足
いろいろと調べた結果、エスケープ文字を入力すると正しく表示してくれる事は分かったのですが、なんぜ、テキストボックスに入力されるデータを格納するので、ユーザさんに「"はエスケープ文字を使って下さい」なんて言えません。 powerscriptで文字置換してくれる関数ってないのかなぁ???
- x-game
- ベストアンサー率42% (80/189)
こんにちは. <INPUT TYPE=TEXT NAME=TEST VALUE=abc"def> でもダメですか? 文字列を囲む"をはずしているだけですが.
補足
早速のご回答ありがとうございます。 試しに上記の方法で実行してみたのですが、 「>」が入力された場合に、「>」以降の文字が画面上にラベルみたいに表示されてしまいました。
補足
画面でテキストボックスに入力された値を格納したいので、「'」で囲んでも、「'」が入力されてしまったら、結局同じことになってしまいます。。。