重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

携帯用の入力フォームを作成しており、初期値をvalueで指定しているのですが、正しく表示されません。必要な部分のみを抜き出して次のようなシンプルなHTMLで試しています。

<html>
<head>
</head>
<body>
<form action="test.cgi" method="post" name="form1">
<input type="text" name="test" value="aaa" />
</form>
</body>
</html>

パソコンで表示するとテキストボックスの中に「aaa」と初期値が表示されるのですが、AUの携帯から見るとテキストボックスが空になります。ちなみに「name="test"」を削除してみると正しく初期値「aaa」が表示されます。
原因がわかる方がいらっしゃいましたら、お教えください。
よろしくお願いします。

A 回答 (2件)

問題はCGIの中身と思えるのですが・・・


一応両方記述した場合はどうですか?

この回答への補足

回答ありがとうございます。
HTMLのフォームの初期値の設定なので、CGIは関係ないと思うのですが、一応確認してみました。長くなりますが、htmlとcgi(perl)のサンプルを入れます。

(1)test.html
<html><head></head>
<body>
<form action="test.cgi" method="post" name="form1">
<input type="text" name="test" value="aaa" />
<input type="submit" value="送信" />
</form></body></html>

(2)test.cgi
#!/usr/bin/perl
use CGI;
{
my $cgi = CGI->new();
my $str = $cgi->param('test');

print "Content-type: text/html\n\n";
print "<html><head></head><body>";
print $str;
print "</body></html>";
exit;
}

上記(1)、(2)を使った場合、フォームのテキストボックスにvalueの初期値aaaは表示されません。CGIでは入力された文字が正しく表示されます。
(1)の name="test" を id="test" に変更すると(1)のvalueの初期値aaaは表示されるのですが、(2)のCGIに移った時に入力された文字を取得することができません。
(1)で name="test" と id="test" を両方記述すると最初の状況と同じで初期値aaaは表示されず、CGIで正しく表示されます。
(1)のhtmlでページの更新をしても初期値が表示されません。何かわかることがあれば教えて下さい。

補足日時:2009/10/15 10:52
    • good
    • 0

nameでは無く「id」で指定したらどうですか?


id="test"
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
nameをidに変更して試してみると、初期値は正しく表示されたのですが、formで指定しているCGIに移った時に入力された内容を取得できません。他に何かよい方法はあれば教えて下さい。

お礼日時:2009/10/14 09:18

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