電子書籍の厳選無料作品が豊富!

テキストボックスに文字飾り表示(2の3乗)が出来ない。

 JavaScriptを使用しテキストボックスに上付き、下付き文字を表示したいのですが上手く表示しません。HTMLのコードが出てしまいます。下記簡単なコードを添付しますので、何方か正しい表示方法を教えてください。
参考までにコード中(1)は正しく表示できず(テキストボックス中)、(2)は正しく表示します。(非テキストボックス)
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function disp(){
var c=new Array("2"+"3".sup(),"1","2");
document.tm.a1.value=c[0]; // (1)
document.write(c[0]); // (2)
}
</SCRIPT>
</HEAD>
<body>
<FORM name="tm">
<INPUT type="button" value="" onClick="disp()">
<INPUT name="a1" type="text" size="20" width="10">
</FORM>
</body>
</HTML>

A 回答 (3件)

補足



実態はテキストボックスやテキストエリアじゃないですが、
ワープロ感覚で、テキストを入力してもらって、HTMLとして
取得するには、Webのオンラインエディターのライブラリーが
いくつかあります。↓は結構有名です。(javascript+cssで実現)です。
「ckEditor(旧 FckEditor)」
http://ckeditor.com/demo
    • good
    • 0

 str.sup()メソッドは、stringオブジェクトのHTMLラッパーメソッドで、


HTML要素である<sup></sup>のタグをストリングに付加してHTMLを生成する
もので、document.writeとか、element.innerHTMLでHTML要素として書き出さ
ないと意味が無いです。

 INPUT name="a1" type="text" size="20" width="10">のvalue(中身)は
HTMLでなくて単なるテキストですから、HTMLのタグを書いてもそのまま、
表示されるだけです。
    • good
    • 0
この回答へのお礼

テキストボックスには単なるテキストだけしか表示できない事がわかりました。有難う御座いました。

お礼日時:2010/11/01 18:12

そもそも文字入力どうやってやるつもりでしょう?


テキストボックス内は特殊な文字表現はできないものと考えるべきです。
どうしてもということであればdivなどで疑似的なテキストボックスをつくって
やればいいでしょう。
    • good
    • 0

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