如何在不知道ID或名称属性的情况下收集所有输入值并通过$.post发送


How do you collect all input values and send via $.post, without knowing the ID or Name Properties?

这是我的第一个问题,所以,请温和一点。我有一个表单,其中包含由服务器动态生成的输入。我必须收集所有的表单数据,然后将其发布到服务器,然后在那里将其处理为规范化视图。我的问题是,我不知道如何简单地发送表单输入的所有值,使用name属性作为名称。我可以在php中的服务器上通过分解输入数组来处理它。我只是不知道如何使用jquery创建和发送数组。

以下是由服务器生成的表单部分:

<input type="text" name="Accessory Type" class="inputTypeAttrs">

根据用户选择的类别,输入是不同的。生成的输入永远不会有id属性,我也不能提前知道输入的很多信息。它们也会随着时间的推移而变化。我可以在输入中添加一个类,但不能添加id。

我在后端使用CodeIgniter,所以我使用获取输入数组

$this->input->post();

使用php可以轻松地遍历数组并返回数据。我应该避免将jquery和ajax一起使用吗?

您可以为此使用jQuery序列化程序。例如:

$( "form" ).on( "submit", function( event ) {
  event.preventDefault();
    $.post( "my/page/", $( this ).serializeArray(), function( data ) {
      console.log('Response is', data);
    });
});

serializeArray将从所有表单输入字段中生成一个对象文字。然后将其发布到您指定的页面。