• 締切済み

フォームのテキストボックスの初期値が携帯で表示されない

携帯用の入力フォームを作成しており、初期値を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」が表示されます。 原因がわかる方がいらっしゃいましたら、お教えください。 よろしくお願いします。

みんなの回答

noname#100277
noname#100277
回答No.2

問題はCGIの中身と思えるのですが・・・ 一応両方記述した場合はどうですか?

tomtomoo
質問者

補足

回答ありがとうございます。 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でページの更新をしても初期値が表示されません。何かわかることがあれば教えて下さい。

noname#100277
noname#100277
回答No.1

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

tomtomoo
質問者

お礼

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