微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 通过ajax数据传递循环数据

我的表单包含隐藏的输入循环.
在我的情况下,我手动声明ajax数据中的隐藏输入而不循环.
那么如何在ajax数据中循环它们呢?

这是我的表单脚本

<form method="POST" name="myform">
   <?PHP for($i=1;$i<=5;$i++) { ?>
            <input type="hidden" name="data<?PHP echo $i; ?>" value="data<?PHP echo $i; ?>">
   <?PHP } ?>
   <input type='button' name='submitData' value='Submit' onClick='submitData();'>
</form>

这是我的Ajax脚本

function submitData() {
   var form = document.myform;
   $.ajax({
     url: 'process.PHP',
     type: 'post',
     data: {
          data1 : form["data1"].value,
          data2 : form["data2"].value,
          data3 : form["data3"].value,
          data4 : form["data4"].value,
          data5 : form["data5"].value
     },
     success: function (result) {
          console.log(result);
     },
     error: function () {
          console.log("error");
     }
  });
}

解决方法:

隐藏的输入有名称和值,

使用.serialize()

Encode a set of form elements as a string for submission

data : $('form[name=myform]').serialize()

这将返回name = value对.

如果您需要{name:value},请使用.each()

var formData = {}
$('form :input:hidden[name^="data"]').each(function(){
    formData[this.name] = this.value;
});

在ajax,

data : formData ,

Demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐