1

複雑なページに複数のフォームがあり、フィールドがかなりの HTML で区切られています。firefox と chrome では、フォームを宣言して閉じ、フォームに関連付けるフィールドに form="xxx" 属性を設定できます。これは IE9 では機能しないようです。

簡単な例を次に示します。

    <?php
if (isset($_POST["field1"])) echo "Field1: " . $_POST["field1"] . "<br>";
if (isset($_POST["Btn1"])) echo "Btn1: " . $_POST["Btn1"] . "<br>";
if (isset($_POST["Btn2"])) echo "Btn2: " . $_POST["Btn2"] . "<br>";
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Test Page</title>
    <link rel="stylesheet" href="css/normalize.css" media="all">
    <!--[if lt IE 9]>
      <script src="js/html5shiv-printshiv.js" media="all"></script>
    <![endif]-->
  </head>
  <body>
    <form id="form1" action="Test.php" method="POST"></form>
    <input type="text" form="form1" id="field1" name="field1" value="text input">
    <button type="submit" form="form1" id="Btn1" name="Btn1" value="Btn1" title="Btn1">
      Btn1</button>
    <input type="submit" form="form1" id="Btn2" name="Btn2" value="Btn2" title="Btn2">
  </body>
</html>

< meta http-equiv="X-UA-Compatible" content="IE=9" > を追加しようとしましたが、変更はありません。

...他の誰かがこの「機能」に出くわしました。どうすれば修正できますか?

4

3 に答える 3

3

HTML5フォームのサポートに関するMicrosoftの情報にformは、属性のサポートに関する情報がないようです。簡単なテストでは、IE 10 でさえサポートしていないことが示唆されています。

そのため、構造を単純化することを検討してください。フォームを重ねたり入れ子にしたりしない限り、HTML の介在は問題になりません。

于 2013-03-25T20:24:08.217 に答える
0

form属性は HTML5 の追加です。HTML5 をサポートするには古すぎるブラウザでは動作しません。

于 2013-03-25T19:02:34.757 に答える