如何指定哪个输入转到哪个表单

时间:2016-04-25 19:33:58

标签: html ruby-on-rails forms

我有数据行,其中每列都是<td>,其中包含<input>。挑战是当用户按下提交按钮时,我希望提交2个表单,具有不同的输入。如何在输入中指定输入应该采用哪种形式?

这个时髦的原因是因为通常情况下,你有这个:

<form>
  <table>
    <tr>
      <td><input /></td>
    </tr>
  </table>
</form>

因此,输入将转换为嵌套在其中的任何形式。但在我的情况下,因为我需要这样的戏弄是不可能的:

<form1>
<form2>
  <table>
    <tr>
      <td><input1 /></td>
      <td><input2 /></td>
      <td><input2 /></td>
      <td><input1 /></td>
      <td><input1 /></td>
    </tr>
  </table>
</form1>
</form2>

如果除了执行以下操作之外无法完成上述工作:

  <table>
    <tr>
      <form1>
        <td><input1 /></td>
        <td><input1 /></td>
        <td><input1 /></td>
      </form1>
      <form2>
        <td><input2 /></td>
        <td><input2 /></td>
      </form2>
    </tr>
  </table>

这也是一个可以接受的答案。我只是更愿意避免上述情况,因为从用户体验的角度来看,它最直观的意义是在表单中混合输入。

2 个答案:

答案 0 :(得分:0)

如果不按照{strong>或提及而不使用form,则无法将输入分成两个不同的javascript来实现此目的。好吧,第三种选择是通过名称(form[1][name]form[2][name]等)在后端“分离”表单。

答案 1 :(得分:0)

通过JavaScript提交您想要的两组输入。如果您使用的是jQuery:

var group1 = $('#myform :input').not('.group2').serializeArray();
var group2 = $('#myform :input').not('.group1').serializeArray();

// post each group wherever you want 
$.post("/page1", group1);
$.post("/page2", group2);

https://api.jquery.com/serialize/

https://api.jquery.com/serializeArray/