HTMLについて分からない事がありますので、ご教授願います。

<INPUT TYPE=TEXT NAME=TEST VALUE="abc"def">

上記のように、テキストボックスに「abc"edf」を初期表示させる1文を書きました。
しかし、「abc」しかテキストボックスには初期表示されません。
原因は「abc」の次にある「"」がVALUEに代入する文字列の最後とみなされている
ためなのですが、文字列中の「"」を文字として認識させて「abc"def」と初期表示
させたいのですが、何か良い方法はないでしょうか?

実は、powerscriptでプログラミングをしています。
そのため、VALUEに指定する文字列は変数を指定していますので、
「VALUE=''」にしてもその変数に「'」が入力されていたら同じ現象が生じてしまいます。

なんとか、「"」を文字として認識させる方法はないのでしょうか?

A 回答 (8件)

私は今までいろいろな言語で Web アプリケーションを開発してきたのですが


selenity さんが言われている 4 キャラクタの置換は必須です。

質問されている画面は、確認ページのようなものだと思いますが
</BODY> や CSS を入力された場合はどうなりますか?
操作者がだれか分かりませんが、第三者に Javascript などの
ロジックを入力された場合、致命的なセキュリティホールになる可能性も
あります。

出すぎたことを言うようですが、
急いでおられるのは納期がせまっている(過ぎている?)からだとと思いますが
ユーザさんにご相談されてはどうでしょうか?
    • good
    • 0

私もselenityさんと同意見です。


HTMLの仕様ですから「&quot;」にすべきだと思います。

valueの部分が変数ならなおさらです。
プログラムをしているのだから、仕様に合うように文字変換をするべきだと思います。
    • good
    • 0

普通であれば不等号は「&lt;」、「&gt;」、


ダブルクォートは「&quot;」
アンパーサント(&)は「&amp;」
の様に記述するのが筋だと思うのですが、、、
    • good
    • 0

<INPUT TYPE=TEXT NAME=TEST VALUE="abc\"def">


と、「"」の前に「\」を入れてみてはどうですか?
    • good
    • 0

このように


<INPUT TYPE=TEXT NAME=TEST VALUE='abc"def'>

「'」で囲めば「"」が表示されるようにも出来ますよ~

この回答への補足

画面でテキストボックスに入力された値を格納したいので、「'」で囲んでも、「'」が入力されてしまったら、結局同じことになってしまいます。。。

補足日時:2001/04/13 14:11
    • good
    • 0

<INPUT TYPE=TEXT NAME=TEST VALUE="abc"def">


です。
「"」で囲まれた場合は"で「"」を表記します。
    • good
    • 0

「"」は、「&quot;」と入力すればいいですよ。


従って、
<INPUT TYPE=TEXT NAME=TEST VALUE="abc&quot;def">
と書けばいいと思います。

Dreamweaverだと、このあたりはちゃんと変換してHTMLにしてくれるので、便利ですよ。

この回答への補足

いろいろと調べた結果、エスケープ文字を入力すると正しく表示してくれる事は分かったのですが、なんぜ、テキストボックスに入力されるデータを格納するので、ユーザさんに「"はエスケープ文字を使って下さい」なんて言えません。
powerscriptで文字置換してくれる関数ってないのかなぁ???

補足日時:2001/04/13 14:08
    • good
    • 0

こんにちは.



<INPUT TYPE=TEXT NAME=TEST VALUE=abc"def>

でもダメですか?
文字列を囲む"をはずしているだけですが.

この回答への補足

早速のご回答ありがとうございます。

試しに上記の方法で実行してみたのですが、
「>」が入力された場合に、「>」以降の文字が画面上にラベルみたいに表示されてしまいました。

補足日時:2001/04/13 14:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ