Authentication




Cancel OK
B!コメントする  2014-03-04 14:33:00 by old

inputのdate属性がどうPOSTされているのか、そしてvalueの値はどう扱われるか?

題名そのまんまですが微妙に気になったので見てみた。

まずはこういうものを用意

<pre>
<?
vardump( $POST );
?>
</pre>
<form method="post" action="">
<input type="time" name="time">
<input type="datetime" name="datetime">
<input type="datetime-local" name="datetime-local">
<input type="date" name="date">
<input type="week" name="week">
<input type="submit" value="submit">
</form>


これにこのように値をいれます。
(入れている値は適当です)




そしてこれをsubmitするとPOST値はこうなります。



weekなんかは始めてみる感じでしたので勉強になりました。
ちなみにこのあたりの属性に対応しているのはPCではChromeくらいでFirefoxとかIE10とかは対応していないので普通のtextとして扱われます。
最近のスマートフォンでは対応しているのでこの辺で使うならOKでしょう。

ちなみにvalueに入れてデフォルトの値なんかを入れることもできますが、その際は注意が必要です。

たとえばweekに

value="2014-3-4"

と指定してもダメでちゃんと「2014-03-04」と指定しないとvalueとして機能しません。
そして実在しない日時とか(2014-02-30とか)を指定してもvalueは機能しません。

当たり前といえば当たり前ですけど、今回Firefox 27.0.1が対応していなかったのは意外でした。このくらいは対応しているものと思っていたのでそこは少しがっかりしましたが、IEは平常運転で別の意味で安心しました。
スマホをターゲットに使うならdate属性もそこそこいけるんじゃないかとも思ったりもした次第です。


HTML  

  • コメント
  • コメントはまだありません