0

私はphpスクリプトをデバッグしていますが、それを次のように絞り込みました:

index.php:
<html>
<body>
<?php
$id = "42";
echo "<form action=\"handle_data.php\" method=\"post\">";
echo "<input type=\"image\" src=\"my_button.png\" name=\"id\" value=\"$id\">";
echo "</form>";
?>
</body>
</html>

_

handle_data.php:
<?php

echo 'PHP Input:<br />';
echo file_get_contents('php://input');
echo '<br />';
echo 'Post variables:<br />';
print_r($_POST);

?>

Mac または iOS デバイスで Safari を使用するとうまくいきます。

PHP Input:
id.x=108&id.y=83&id=42
Post variables:
Array ( [id_x] => 108 [id_y] => 83 [id] => 42 )

しかし、IE8またはFirefox 17でWin7を使用すると、投稿されたデータ「42」が失われます=/

PHP Input:
id.x=128&id.y=96
Post variables:
Array ( [id_x] => 128 [id_y] => 96 )

なぜああなぜ?

4

1 に答える 1

0

このブログによると、 Firefox と IE は HTML5 標準に従っています。CSS の代替を提供します。

input要素を次のように変更します。

<input type='submit' name='id' value='$id' class='mySubmit' />

CSS を追加します。

input.mySubmit {
  border: none;
  cursor: pointer;
  display: inline-block;
  text-indent: -3000px;
  background: url(my_button.png) no-repeat 50% 50%;
  width: 50px;
  height: 20px;
}
于 2012-12-30T17:04:01.030 に答える