2012-08-15 78 views
0

我想POST POST动态添加的文本框的值。 如何为这些新文本框指定名称[作为数组]? 如何将这些数组值传递给.php文件?如何获取Java脚本和PHP中动态添加的文本框的值

下面的代码添加texbox dynmically

HTML部分:

<input type="checkbox" name="bugs" value="1">Check this if bugs are not available </br> </br> 
<INPUT type="button" value="Add Row" onclick="addBugRow('bugTable')" /> 
<INPUT type="button" value="Delete Row" onclick="deleteBugRow('bugTable')" /> 

<TABLE id="bugTable" width="350px" border="1"> 
<TR> 
      <TD></TD> 
      <TD> No. </TD> 
      <TD> PCR </TD> 
     <TD> Description </TD> 

</TR> 
<TR> 
      <TD><INPUT type="checkbox" name="chk"/></TD> 
      <TD> 1 </TD> 
      <TD> <INPUT type="text" name="pcr[]" size="6"/> </TD> 
     <TD><textarea cols="75" rows="5" name="bugdata[]"> </textarea> </TD> 

</TR> 
</TABLE> 

Java脚本部分

function addBugRow(tableID) { 

      var table = document.getElementById(tableID); 

      var rowCount = table.rows.length; 
      var row = table.insertRow(rowCount); 

      var cell1 = row.insertCell(0); 
      var element1 = document.createElement("input"); 
      element1.type = "checkbox"; 
      cell1.appendChild(element1); 

      var cell2 = row.insertCell(1); 
      cell2.innerHTML = rowCount; 

      var cell3 = row.insertCell(2); 
      var element2 = document.createElement("input"); 
      element2.type = "text"; 
     element2.name = "pcr[]"; // text field names in array 
     element2.size = 6; 
      cell3.appendChild(element2); 

     } 

PHP的一面,我需要添加文本框的数量值和他们的价值观。

PHP部分:

foreach($_POST['pcr'] as $key=>$value) 
echo $key.' '.$value; 
+0

是否要发布生成文本框的代码? – andrewsi 2012-08-15 18:52:27

+0

恩,如果他们是表格的一部分,他们应该在表格提交时发送。你在问如何为元素分配一个名称值? – thatidiotguy 2012-08-15 18:54:27

+0

如何生成文本框?发布代码将提供更有用的回应.. – burmat 2012-08-15 18:59:16

回答

2

添加名称来动态创建的元素:

var Input = document.createElement("input");  
Input.setAttribute("name", "ElementNameGoesHere"); 

至于张贴的输入作为数组..是这是可能的像这样:

输入命名:

<input name="array[]" /> 
<input name="array[]" /> 

PHP:

$_POST['array'][0] // First Input 
$_POST['array'][1] // Second Input 
+0

我可以将它命名为数组并将相同的数组POST到PHP代码。 – Ajay 2012-08-16 02:53:52

+0

刚刚测试过,将包括此修改回答。请接受我的答案,如果这对你有用:D – trevorkavanaugh 2012-08-16 17:09:48

1

如果你正在使用jQuery:

var count = $("input[name*='newInput']").length; 
var hidden = $("<input>").attr("type", "hidden") 
         .attr("name", "newInput[" + count + "]") 
         .val("hiddenStuff"); 
$("#someId").append(hidden); 

这应该张贴蛮好PHP。只要您生成您知道要在PHP端查找的可预测名称,就应该很容易地将数据恢复出来。

+0

在PHP方面,我需要获取添加的文本框数量值及其值。我可以使用数组来命名它们并获取它们的值。 – Ajay 2012-08-16 02:56:06

+0

当然!没有理由不能使用数组作为名称,以便获得使用PHP的$ _POST全局变量创建的数组。你甚至可以修改代码,这样它就可以很容易地自动添加“nth”项。我会更新我的答案。 – mcarpenter 2012-08-16 22:43:27