KCP+端末のテキストフィールド
<input type="text" name="name" value="">
のような1行テキストフィールドの後に、自動的に<br />が挿入される場合があるようだ。
(W61SAで確認 ブラウザバージョン:7.2.7.1.K.1.5.123)
<br />が挿入された時のソース
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html charset=shift_jis" /> <meta http-equiv="Cache-Control" content="no-cache" /> <title>テキストフィールド</title> </head> <body> <form method="post" action="login.cgi"> <div style="text-align:center;"> <!-- ↑text-align:right;でも発生 --> <input type="text" name="id" size="10" format="24x" /><br /> パスワード<input type="password" name="pass" size="10" format="24x" /><br /> <input type="submit" value="ログイン" /> </div> </form> </body> </html>
text-align:center | text-align:right |
---|---|
<br />が挿入されない時のソース
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html charset=shift_jis" /> <meta http-equiv="Cache-Control" content="no-cache" /> <title>テキストフィールド</title> </head> <body> <form method="post" action="login.cgi"> <div style="text-align:left;"> ユーザーID<input type="text" name="id" size="10" format="24x" /><br /> パスワード<input type="password" name="pass" size="10" format="24x" /><br /> <input type="submit" value="ログイン" /> </div> </form> </body> </html>
text-align:left |
---|
つまり、テキストフィールドが
<div style="text-align:center;">〜</div>
もしくは
<div style="text-align:right;">〜</div>
で囲まれている時、テキストフィールドの後に自動的に<br />が挿入されてしまうのである。
W51Pなどの非KCP+端末では、このようなことは無い。
バグなのか、仕様なのか。
回避方法1
<div style="text-align:left;">〜</div>
で囲む(ただし、text-align:center;は解除される)
<div style="text-align:center;"> <div style="text-align:left;"> ユーザーID<input type="text" name="id" size="10" format="24x" /><br /> パスワード<input type="password" name="pass" size="10" format="24x" /><br /> <input type="submit" value="ログイン" /> </div> </div>
回避方法2
テキストフィールド1つ1つを<div>〜</div>で囲む
(この方法だと、text-align:center;を維持できる)
<div style="text-align:center;"> <div>ユーザーID<input type="text" name="id" size="10" format="24x" /></div> <div>パスワード<input type="password" name="pass" size="10" format="24x" /></div> <div><input type="submit" value="ログイン" /></div> </div>