为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取数组后值

如何获取数组后值

芜湖不芜 2023-07-06 14:37:33
在我的脚本中,我有动态添加的输入字段。我必须使用 php 获取所有输入值,但 $_POST['poids'] 中的问题只给我输入数组的第一个值,因此只给我数组 poids 的第一个元素。这是我的代码:$(function() {  var max_fields = 10;  var $wrapper = $(".container1");  var add_button = $(".add_form_field");  $(add_button).click(function(e) {    e.preventDefault();    const vals = $("> .item input[name^=poids]", $wrapper).map(function() {      return +this.value    }).get()    const val = vals.length === 0 ? 0 : vals.reduce((a, b) => a + b);    if ($("> .item", $wrapper).length < max_fields && val < 100) {      const $form_colis = $(".item").first().clone();      $form_colis.find("input").val("");      $wrapper.append($form_colis); //add input box    } else {      var err_msg = 'limit riched';      //alert(err_msg);      window.alert(err_msg);    }  });  $wrapper.on("click", ".delete", function(e) {    e.preventDefault();    $(this).parent('div').remove();  })});<div class="container1" style="min-height:200px">  <button class="add_form_field">Add New Field ✚</button>  <form method="post" action="postForm.php">    <div class="item">      <input type="text" placeholder="Poids" name="poids[]">      <input type="text" placeholder="Longueur" name="longueurs[]">      <input type="text" placeholder="Largeur" name="largeurs[]">      <input type="text" placeholder="Hauteur" name="hauteurs[]">      <a href="#" class="delete">Delete</a>    </div>    <button type="submit" name="" class="btn btn-danger btn-responsive "> Send </button></center>    </a>  </form></div>获取帖子(postForm.php):$poids = $_POST['poids'];foreach($poids as $poid) {    echo " -->" .$poid;}我希望你明白我的意思。先感谢您
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

问题是您将带有新输入字段的 div 附加到$wrapper,但这在表单之外。您需要将其放入表格中。

改变

      $wrapper.append($form_colis); //add input box

      $('.item', $wrapper).last().after($form_colis); //add input box


查看完整回答
反对 回复 2023-07-06
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我不是 PHP 专家,但通过浏览提供的代码,您似乎只是在搜索名称值为 poids 的输入。


const vals = $("> .item input[name^=poids]",$wrapper).map(function() { return +this.value }).get()

然后,当您创建 bew 输入时,您不会将 poids 附加到输入名称。


const $form_colis = $(".item").first().clone();

                  $form_colis.find("input").val("");

                  $wrapper.append($form_colis);

因此,用你的方法你只会找到一个,那就是这个:


   <input type="text" placeholder="Poids" name="poids[]">

因此,为了解决这个问题,在$form_colis方法内部添加poids我相信的内容。


查看完整回答
反对 回复 2023-07-06
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信