2016-09-27 2 views
1

フォーム内にループのドロップされたアイテムを保存する機能があります。ここには2つのプロセスを持つsampleがあります。私がしたいのは、フォームを送信した後、次のページに保存された値を印刷することです。関数は配列から1つの値だけを保存して出力します。どのように修正することができますか?

最初のフォームで複数のプロセスを選択した後、ユーザーは2番目のフォームに進み、ループ内の各行のアイテムを削除できます。その後、保存ボタンを押して提出することができ、システムは各プロセスの保存された値を印刷する必要があります。 私はこれを使用することにより、各プロセスの配列を破る方法を見つけました:

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); 

答えて

0

[OK]を、私は関数に隠し入力を追加し、それは私を助けました。ここに私がやったことです:

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

関連する問題