函数仅保存并打印数组中的一个值。如何解决?

时间:2016-09-27 02:52:45

标签: javascript php jquery arrays forms

我有一个函数可以让我为表单中的循环保存droped项目。这是sample,有两个进程。我想要做的是在提交表格后在下一页打印保存的值。

所以主要的想法是,在第一个表单上选择进程数后,用户进入第二个表单,在那里他可以为循环中的每一行删除项目。然后他可以通过按下保存按钮来提交它,系统应该为每个过程打印保存的值。 我找到了一种方法来打破每个进程的数组:

var LISTOBJ = {
    saveList: function() {
        $(".proc").each(function() {
          var listCSV = [];
          $(this).find("li").each(function(){
              listCSV.push($(this).text());
          });
          $("#output").append("<p>"+listCSV.join(", ")+"</p>");
          //$(".hiddenListInput").val(listCSV);
              console.debug(listCSV);
        });
    }
}

它工作正常,它会打印每个进程的已保存值列表,但是当我尝试使用$(".hiddenListInput").val(listCSV);提交表单后在新页面上打印它时,它只显示上次保存的值。 这是我的表格:

<form class="formcss" method="POST" action="test2.php">
<?php 
    $len=2;
    for($y=0;$y<$len;$y++)
    {
?>  
    <div class='proc'>
     <label>Process:</label>
      <span> </span>
      <br />
      <div class="leader">
        <label>Leader:</label>
        <div class="ui-widget-content">
          <div class="projLeader">
            <ol>
              <li class="placeholder" name="leader[]"></li>
              <input type="hidden" name="leader[]" class="hiddenListInput" />
            </ol>
          </div>
        </div>
      </div>
    </div>


<?php
    }                   
?>  
<div class="row">
      <input type="submit" id="savebutton" style="margin-top:25px;" name="submit" class="button" value="Save" onclick="userSubmitted = true;" />
</div>
    <div id="output"></div>
</form>

和test2.php我要打印保存的数组:

    $procleader=$_POST['leader'];
    print_r ($procleader);

1 个答案:

答案 0 :(得分:0)

好的,我在函数中添加了隐藏的输入,它帮助了我。这是我做的:

 var LISTOBJ = {
    saveList: function() {
        $(".proc").each(function() {
          var listCSV = [];
          $(this).find("li").each(function(){
              listCSV.push($(this).text());
          });
          var values = '"'+listCSV.join('","')+'"';
          $(".procChecker").append("<input type='hidden' name='prodstuff[]' value='+values+' />");
          $("#output").append("<p>"+values+"</p>");
              console.debug(listCSV);
        });
    }
}

fiddle