IEの<input type="image" />対策
input type="image" をクリックしたとき、IEではname属性を送らずに、画像の縦横のサイズを送ってくるので、PHPでname属性が来ることを期待するような作りになっているとハマる。
image_xやimage_yがあるかも込みでハンドルしてもいいけど、name属性を配列にしておくと、
type="submit"でもtype="image"でも同じキーが渡ってくるので楽。
<!-- フォーム1 -->
<form action="" method="post">
<input type="submit" name="submit" value="送信" />
<input type="image" name="image" value="画像" />
</form>
<!-- フォーム2 -->
<form action="" method="post">
<input type="submit" name="submit[dummy]" value="送信" />
<input type="image" name="image[dummy]" value="画像" />
</form>
<?php
var_dump($_POST);
// フォーム1
// Chrome + submit
// array(1) { ["submit"]=> string(6) "送信" }
// Crhome + image
// array(3) { ["image_x"]=> string(2) "16" ["image_y"]=> string(1) "4" ["image"]=> string(6) "画像" }
// IE8 + image(ここでたいていハマる)
//array(2) { ["image_x"]=> string(2) "12" ["image_y"]=> string(2) "25" }
// フォーム2
// Chrome + submit, IE8 + submit
// array(1) { ["submit"]=> array(1) { ["dummy"]=> string(6) "送信" } }
// Chrome + image
// array(1) { ["image"]=> array(1) { ["dummy"]=> string(6) "画像" } }
// IE8 + image
// array(1) { ["image"]=> array(1) { ["dummy"]=> string(2) "20" } }
Author And Source
この問題について(IEの<input type="image" />対策), 我々は、より多くの情報をここで見つけました https://qiita.com/suin/items/e86e8c747a4e2baa1d31著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .