2013-09-30 28 views
0

我試圖在網絡上搜索解決此問題的方法,但找不到任何。問題是 - 我有一個表單和一個帶有javascript函數的按鈕,它增加了額外的輸入。在將這些輸入變量傳遞給php $_POST數組後,它將打印除動態創建的輸入以外的所有內容。你們知道,爲什麼動態生成的輸入不顯示?

<form action="page.php" method="post" id="rekins"> 
    <p>Invoice Number: <input type="text" name="nr" /></p> 
    <p>Account: <input type="text" name="konts" /></p> 
    <h1>Services:</h1> 
    <h2>1. Service</h2> 
    <input type="text" name="pak[0][counter]" style="display:none" value="1"/> 
    <p>Name<input name="pak[0][name]" type="text" id="pakName0" class="pak"/></p> 
    <p>Count<input name="pak[0][count]" type="text" id="pakCount0" class="pak"/></p> 
    <p>Price<input name="pak[0][Price]" type="text" id="pakPrice0" class="pak"/></p> 
    <input type="button" onclick="addInput()" name="add" value="Add another service" /> 
    <p><input type="submit" name="submit" value="Submit" /></p> 
</form> 
<script language="javascript"> 
    fields = 0; 
    function addInput() { 
    fields += 1; 
    document.getElementById('rekins').innerHTML += 
      "<h2>"+(fields+1)+". service</h2>"+ 
      "<input type='text' name='pak["+fields+"][counter]' style='display:none' value='"+(fields+1)+"'/>"+ 
      "<p>Name<input name='pak["+fields+"][name]' type='text' id='pakName"+fields+"' class='pak'/></p>"+ 
      "<p>Count<input name='pak["+fields+"][count]' type='text' id='pakCount"+fields+"' class='pak'/></p>"+ 
      "<p>Price<input name='pak["+fields+"][Price]' type='text' id='pakPrice"+fields+"' class='pak'/></p>"; 
    } 
</script> 

我試着用var_dump($_POST['pak']);進行調試,並且顯示了默認值,但沒有顯示動態添加的值。

可能是什麼問題?

+0

你測試與IE瀏覽器的代碼?嘗試其他瀏覽器,例如,mozilla – Sage

+0

在Chrome和Firefox上嘗試,結果相同... –

+0

然後檢查'$ _POST'打印代碼。正如我已經測試你的代碼在Firefox和鉻,它工作正常 – Sage

回答

0

我嘗試過,併爲我工作。

HTML端:

<!doctype html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Document</title> 
    </head> 
    <body> 
     <form action="x.php" method="POST" id="rekins"> 
     <p>Invoice Number: <input type="text" name="nr" /></p> 
     <p>Account: <input type="text" name="konts" /></p> 
     <h1>Services:</h1> 
     <h2>1. Service</h2> 
     <input type="text" name="pak[0][counter]" style="display:none" value="1"/> 
     <p>Name<input name="pak[0][name]" type="text" id="pakName0" class="pak"/></p> 
     <p>Count<input name="pak[0][count]" type="text" id="pakCount0" class="pak"/></p> 
     <p>Price<input name="pak[0][Price]" type="text" id="pakPrice0" class="pak"/></p> 
     <input type="button" onclick="addInput()" name="add" value="Add another service" /> 
     <p><input type="submit" name="submit" value="Submit" /></p> 
    </form> 
    <script language="javascript"> 
     fields = 0; 
     function addInput() { 
     fields += 1; 
     document.getElementById('rekins').innerHTML += 
       "<h2>"+(fields+1)+". service</h2>"+ 
       "<input type='text' name='pak["+fields+"][counter]' style='display:none' value='"+(fields+1)+"'/>"+ 
       "<p>Name<input name='pak["+fields+"][name]' type='text' id='pakName"+fields+"' class='pak'/></p>"+ 
       "<p>Count<input name='pak["+fields+"][count]' type='text' id='pakCount"+fields+"' class='pak'/></p>"+ 
       "<p>Price<input name='pak["+fields+"][Price]' type='text' id='pakPrice"+fields+"' class='pak'/></p>"; 
     } 
    </script> 
    </body> 
    </html> 

PHP端:

<?php 
print_r($_POST['pak']); 
?> 

結果:

Array ([0] => Array ([counter] => 1 [name] => [count] => [Price] =>) [1] => Array ([counter] => 2 [name] => asd [count] => asd [Price] => asd)) 
+0

是的,它現在的作品。老實說,我不知道以前的語法錯誤。不管怎麼說,還是要謝謝你! :) –

相關問題