0

このような HTML 構造があるとします。それぞれの left-context-field と right-context-field は関連しており、バックエンドで left をその右の同僚にリンクできる必要があります。

<table>
  <tbody>
    <tr>
      <td>
        <input type="text" class="left-context-field" value="First left value">
      </td>
      <td>
        <input type="text" class="right-context-field" value="First right value">
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" class="left-context-field" value="Second left value">
      </td>
      <td>
        <input type="text" class="right-context-field" value="Second right value">
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" class="left-context-field" value="Third left value">
      </td>
      <td>
        <input type="text" class="right-context-field" value="Third right value">
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" class="left-context-field" value="Fourth left value">
      </td>
      <td>
        <input type="text" class="right-context-field" value="Fourth right value">
      </td>
    </tr>
  </tbody>
</table>

ユーザーは好きなだけ行を追加できます。値を PHP ファイルに投稿するにはどうすればよいですか?

すべての行を 1 つの巨大なフォームにラップしてから呼び出す必要があり.serializeArray()ますか? それとも行ごとに 1 つのフォームですか?

データ指向のアプローチから、これに対処する最善の方法は何ですか? データをバックエンドに送信しますが、バックエンド開発者がデータにできるだけ簡単にアクセスできるようにしたいと考えています。

4

2 に答える 2

1

HTML フォームで配列を送信する方法は、ブラケットを使用することです。

例えば

name="values[]"

このような。

<form name = 'vals_form' action = 'php_page.php' method = 'post'>
  <table>
    ... <!-- Your all code -->
    <tr>
      <td>
        <input type="text" class="left-context-field" value="First left value" name="values[]">
      </td>
      <td>
        <input type="text" class="right-context-field" value="First right value" name="values[]">
      </td>
    </tr>
    ...
    <input type = 'submit' value = 'Post Values' />
  </table>
</form> <!--and close the form tag-->

PHPでは、配列が返されます

$values = $_POST['values'];
于 2015-10-31T17:11:42.833 に答える