WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:スタイルを適用したテキストエリア

0:[投稿] one [MAIL] [2003/05/14 03:20 ][環境:MAC+IE5 Apache]

フォームのテキストエリアを下記のようにスタイルシートで設定しています。

TEXTAREA {
background-color:#F5F5F5;
border:solid #6699cc 1px;
font-size:12px;
font-family:"MS Pゴシック",Osaka,sans-serif
}

このスタイルを摘要したテキストエリアでetnerキーを入力すると記号が入力されるのですが、このenter記号を入れて、CGIに渡すと文字化けを起こします。スタイルを適用しない<textarea name="test" cols="40" rows="4">などの記述では、このetnerキーでは、何も入力されません。何か分かることがあれば、アドバイス頂けませんか?

MAC+IE5での現象です。


1:[回答] 下級天使 [2003/05/14 16:20 ]

ご参考までに。
http://tohoho.wakusei.ne.jp/lng/199908/99080052.htm


2:[回答] one [MAIL] [2003/05/14 17:18 ]

ありがとうございます。解決はしてませんが、原因分かったような気がします


3:[回答] ひじ [2003/05/14 22:47 ]

OS: MacOS 9.2
WebブラウザおよびUA: Microsoft Internet Explorer for Mac 5.1 (5.1.4)
キーボード: Apple Pro Keyboard - JIS

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<title>test</title>
<style type="text/css">
textarea.b {
    font-family:Osaka;
}
textarea.c {
    font-family:"Osaka−等幅";
}
</style>
<body>
<form>
<p>
<textarea name="a" class="a">
</textarea>
<textarea name="b" class="b">
</textarea>
<textarea name="c" class="c">
</textarea>
<input type="submit" value="submit">
</p>
</form>
</body>
</html>

で確認。両方のテキストエリアに「a<enter>b」と入力
#「return」キーではなくテンキーの中にある「enter」キー
class="a"のテキストエリアでは「ab」と表示
class="b"のテキストエリアでは「a|←b」と表示
それを自分自身に送信すると、
hoge.html?a=a%03b&b=a%03b
というURIになった。

結論:
<enter>キーを入力すると、0x03 (ETX)というコントロールコードが入力される。Osakaフォントではこのコントロールコードが見えるが、IEでテキストボックス入力時にデフォルトで使われているOsaka−等幅フォントではコントロールコードは見えない。
しかし、どちらのフォントでも入力されたフォントは送信される。
MacIEのバグか、妙な仕様かのどちらかだろう。

<参考>他のブラウザでの検証結果:
Mozilla 1.0: <enter>キーを押すと改行される。送信すると hoge.html?a=a%0D%0Ab&b=a%0D%0Ab
NN4.7, iCab 2.9.1: <enter>キーを押しても何も起きない。送信すると hoge.html?a=ab&b=ab


4:[回答] ひじ [2003/05/14 22:53 ]

>>3
<textarea name="c">が反映されていなかった。
このテキストエリアから送ったものは、全てのブラウザでa,bと同じ値が送信された。
MacIEでの表示は「ab」(class="a"と同じ)。


5:[関連] ひじ [2003/05/15 19:42 ]

http://www.parkcity.ne.jp/~chaichan/qanda/qa3962.htm#r5
の文中、 "a.html*/b.html" の*の部分にコントロールコード0x03が入っています。


6:[回答] one [MAIL] [2003/05/15 20:43 ]

色々、ありがとうございます。

フォームのテキストエリアの件

ひじさんの言われるように、Osakaだとテキストエリアでのetnerキーで|←が入力されるようです。そして、この状態でCGIに渡すと文字化けが起こります。Osaka-等幅を指定するとetnerキーで|←は入力されませんが、テキストエリアに文字が入力されると文字化けを起こします。八方ふさがりです。CGIの制作者も検討してくれているようなので、もう少し待ってみます。

ひよこさんにアドバイスもらっているフォームへのデフォルト値の件。

下のように修正したのですが、ダメでした。そういうことじゃないのかな。初歩的なミスがあるようでしたら、お手数ですが、アドバイスください。

urlData[0] = new Array("default","C");
urlData[1] = new Array("a.html","A");
urlData[2] = new Array("b.html","B");
urlData[3] = new Array("c.html","C");

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World