2013-05-25 35 views
0

嗨,大家好,我的問題是這個,我動態地在用戶輸入的基礎上創建表的行。現在每行都包含文本框,comboxbox從組合框中選擇值n從前三列的文本框中輸入值,結果將顯示。在下一頁中將所選的n個輸入值傳遞給下一頁時,只有最後一行值移動到下一頁.i想要傳遞所有的循環值到下一個頁面 JavaScript編程代碼如何在php中將循環的值從一頁傳遞到下一頁?

<script> 
function getText3(row){ 
      var in1=document.getElementById('in1-' + row).value; 
      var in2=document.getElementById('in2-' + row).value; 
      var in4=document.getElementById('in4-' + row).value; 
      var in3=(in1*in2*in4*30)/1000; 
      document.getElementById('in3-' + row).value=in3.toFixed(2); 

    } 

</script> 

表的代碼

<?php 
$de=$_POST['text123']; 
echo $de; 
?> 

<body> 
<form action="kl2.php" method="post" > 
     <table border="1" align="center" id="wr123"> 
    <tr> 
     <th>WAS</th> 
     <th>NO.</th> 
     <th>AVERAGE</th> 
     <th>APPROX</th> 
    </tr> 
    <?php 

    for ($i = 1; $i <= $de; $i++) { 
    ?> 
    <tr> 
     <td>Tube</td> 
     <td> 
      <select id="in4-<?php echo $i; ?>" name="t1" onclick="getText3(<?php echo $i; ?>)" > 
       <option value="0">0</option> 
       <option value="12">12</option> 
       <option value="18">18</option> 
       <option value="24">24</option> 
       <option value="75">75</option> 
      </select> 
     </td> 
     <td> 
      <input type="text" name="t2" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" /> 
     </td> 
     <td> 
      <select name="a1" id="in2-<?php echo $i; ?>" onclick="getText3(<?php echo $i; ?>)" > 
       <option value="0">0</option> 
       <option value="1">1</option> 
       <option value="2">2</option> 
       <option value="3">3</option> 
       <option value="4">4</option> 
       <option value="5">5</option> 
       <option value="6">6</option> 
       <option value="7">7</option> 
       <option value="8">8</option> 
      </select> 
     </td> 
     <td> 
      <input type="text" id="in3-<?php echo $i; ?>" name="username" readonly="readonly" /> 
     </td> 
     <td> 
    </tr> 
    <?php } ?> 
    <input type="submit" name="submit" /> 

    </table> 
    </form> 

kl2.php

<?php 
@$a=$_POST['t1']; 
echo @$a; 
$sl = $_POST['t2']; 
echo $sl; 
$b=$_POST['a1']; 
echo $b; 
$c=$_POST['username']; 
echo $c; 
?> 

上提交單擊如果用戶輸入3只顯示最後一行值即獲取顯示3行單擊最後一行顯示的

+1

爲什麼你需要一個變量傳遞給JavaScript的?你可以使用一個隱藏字段爲 - 加,你總是可以指望使用Javascript –

+0

索裏先生可用細胞的數量,我不能做這個它不顯示我已經進入它只顯示字陣 – user2420285

回答

0

你必須傳遞一個數組的只提交數據後,就可以對付它作爲一個數組在PHP方面。

爲了做到這一點,在每個輸入,更改名稱= 「X」 來命名= 「X []」

實施例:

 <input type="text" name="t2" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" /> 

到:

 <input type="text" name="t2[<?php echo $i; ?>]" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" /> 

另外在php中使用@來抑制錯誤通常是一個糟糕的主意。

試着這麼做:

var_dump($_POST); 

,你會看到的數據是怎麼來通過給你。

提示:

if (isset($_POST['t1']) { 
    $t1_data = $_POST['t1']; 
} 

**編輯**

嘗試是這樣的:

<?php 

if (isset($_POST['submit'])) { 

    $data_t1 = $_POST['t1']; 
    foreach ($data_t1 as $key => $value) { 

     echo 'T1: ' . $value . '<br />'; 
     echo 'T2: ' . $_POST['t2'][$key] . '<br />'; 
     echo 'Username: ' . $_POST['username'][$key] . '<br /><br />'; 

    } 

} 
?> 
<html> 
<head> 
    <script> 
     function getText3(row){ 
      var in1=document.getElementById('in1-' + row).value; 
      var in2=document.getElementById('in2-' + row).value; 
      var in4=document.getElementById('in4-' + row).value; 
      var in3=(in1*in2*in4*30)/1000; 
      document.getElementById('in3-' + row).value=in3.toFixed(2); 

     } 
    </script> 
</head> 
<body> 
<form action="" method="POST"> 
<table border="1" align="center" id="wr123"> 
    <tr> 
     <th>WAS</th> 
     <th>NO.</th> 
     <th>AVERAGE</th> 
     <th>APPROX</th> 
    </tr> 
    <?php 

    for ($i = 1; $i < 4; $i++) { 
    ?> 
    <tr> 
     <td>Tube</td> 
     <td> 
      <select id="in4-<?php echo $i; ?>" name="t1[<?php echo $i; ?>] onclick="getText3(<?php echo $i; ?>)" > 
       <option value="0">0</option> 
       <option value="12">12</option> 
       <option value="18">18</option> 
       <option value="24">24</option> 
       <option value="75">75</option> 
      </select> 
     </td> 
     <td> 
      <input type="text" name="t2[<?php echo $i; ?>]" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" /> 
     </td> 
     <td> 
      <select name="a1[<?php echo $i; ?>]" id="in2-<?php echo $i; ?>" onclick="getText3(<?php echo $i; ?>)" > 
       <option value="0">0</option> 
       <option value="1">1</option> 
       <option value="2">2</option> 
       <option value="3">3</option> 
       <option value="4">4</option> 
       <option value="5">5</option> 
       <option value="6">6</option> 
       <option value="7">7</option> 
       <option value="8">8</option> 
      </select> 
     </td> 
     <td> 
      <input type="text" id="in3-<?php echo $i; ?>" name="username[<?php echo $i; ?>]" readonly="readonly" /> 
     </td> 
     <td> 
    </tr> 
    <?php } ?> 
    </table> 
    <input type="submit" name="submit" value="submit"> 
</form> 
</body> 
</html> 
+0

,它是一個數組。使用foreach循環遍歷它。 – user2420285

+0

正確的價值得到您的點 – Farkie

+0

先生如果u不介意請你告訴我要顯示如果u不介意u能寫一行代碼,我 – user2420285

相關問題