无法从javascript创建的其他文本框中收集数据
Unable to collect data from additional textbox created by javascript
我正在尝试收集在表单中用div包装的文本框中输入的数据。我正在使用会话收集通过提交按钮传递的数据数组。然而,它只捕获第一行数据。我认为javascript创建的文本框中输入的数据无法识别?
HTML条目1
<input type="text" name="myInputs_d[]" size='5' style='margin:4px;'>D(mm)
<input type="text" name="myInputs_d1[]" size='5' style='margin:4px;'>D1(mm)
<input type="text" name="myInputs_bags[]" size='5' style='margin:4px;'>Bags
<input type="text" name="myInputs_carton[]" size='5' style='margin:4px;'>Cartons
</div>
<input type="submit" value="submit" name="submit">
</form>
<input type="button" value="Add another text input" onClick="addInput('dynamicInput');">
javascript创建多个文本框
<script>
var counter = 1;
var limit = 10;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "Entry " + (counter + 1) + " <input type='text' name='myInputs_d[]' size='5' style='margin:5px;'>D(mm)<input type='text' name='myInputs_d1[]' size='5' style='margin:5px;'>D1(mm)<input type='text' name='myInputs_bags[]' size='5' style='margin:5px;'>Bags<input type='text' name='myInputs_carton[]' size='5' style='margin:5px;'>Cartons";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
Php对输入的所有数据进行回波
$_SESSION['myInputs_all'][]=array($_POST["myInputs_d"],$_POST["myInputs_d1"],$_POST["myInputs_bags"],$_POST["myInputs_carton"]);
print_r($_SESSION['myInputs_all']);
foreach ($myInputs_all as $eachInput)
{
echo $eachInput . "<br>";
}
我可能已经输入了三组记录,但当我打印_r($_SESSION['myInputs_all'])时;。。。。。它只显示了第一张这样的唱片。
Array ( [0] => Array ( [0] => 10 ) [1] => Array ( [0] => Array ( [0] => 10 ) [1] => Array ( [0] => 10 ) [2] => Array ( [0] => 20 ) [3] => Array ( [0] => 20 ) )
试用此代码
JavaScript:
var counter = 1;
var limit = 10;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newDiv = document.createElement('div');
var stringInput = "Entry " + (counter + 1) + " <input type='text' name='myInputs_d[]' size='5' style='margin:5px;'>D(mm)<input type='text' name='myInputs_d1[]' size='5' style='margin:5px;'>D1(mm)<input type='text' name='myInputs_bags[]' size='5' style='margin:5px;'>Bags<input type='text' name='myInputs_carton[]' size='5' style='margin:5px;'>Cartons";
newDiv.innerHTML = stringInput;
document.getElementById(divName).appendChild(newDiv);
counter++;
}
}
您的HTML应该是这样的。(添加表单标签和提交按钮)
<form name="test" method="post" action="">
<div id="dynamicInput">
Entry 1
<input type="text" name="myInputs_d[]" size='5' style='margin:4px;'>D(mm)
<input type="text" name="myInputs_d1[]" size='5' style='margin:4px;'>D1(mm)
<input type="text" name="myInputs_bags[]" size='5' style='margin:4px;'>Bags
<input type="text" name="myInputs_carton[]" size='5' style='margin:4px;'>Cartons
</div>
<input type="button" value="Add another text input" onClick="addInput('dynamicInput');">
<input type="submit" name="submit" value="Submit" />
</form>
最后你的php代码应该是这样的:
if( isset($_POST['submit']) ){
$_SESSION['myInputs_all'] = array($_POST["myInputs_d"],$_POST["myInputs_d1"],$_POST["myInputs_bags"],$_POST["myInputs_carton"]);
print_r($_SESSION['myInputs_all']);
echo "<br>";
foreach( $_SESSION['myInputs_all'] as $all_inputs ){
foreach( $all_inputs as $inputs ){
echo $inputs.'<br>';
}
}
}
您的循环没有正确地迭代所有元素,以下是我的建议:
for($i = 0; $i < count($myInputs_all); ++$i) {
for($j = 0; $j < (count($myInputs_all[$i])-1); ++$j) {
for($k = 0; $k < 4; ++$k) {
print "i:$i; j:$j; k:$k";
print $myInputs_all[$i][$k][$j] . "<br>";
}
}
}
相关文章:
- 用程序搜索JQuery数据表中的文本
- 如何在可分组的剑道网格中设置空数据文本
- 清除数据并将旧值附加到文本框中
- 如何从文本区域获取数据并使用javascript进行解密
- 如何使用JavaScript解析输入文本中给定的数据
- 单击文本时删除文本框的默认数据
- 如何从jQuery对象文本正确调用服务器端ASP.NET并将数据返回给jQuery
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 用Promises返回的数据替换出现的文本
- 如何使用JavaScript从文本框中检索数据
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 如何使用PHP获取h1的内容以用于Twitter数据文本参数
- Sharrre-Facebook数据文本和数据url没有显示在多个按钮上
- 如何在Object〔Object HTMLCollection〕上插入Mysql数据文本
- 从Web应用程序网页的HTML元素(h2/span)中获取数据(文本)
- 在Javascript中动态更新twitter按钮的数据文本
- 文件上传和数据(文本)表单转化为HTML表格
- 显示来自数据文本属性的数据
- 更改数据-文本后单击tweet按钮
- 向数据库添加数据文本文件