Javascript 动态添加的输入don';无法在$\u POST数据中显示
我试着在网上搜索这个问题的解决方案,但没有找到。问题是——我有一个表单和一个带有javascript函数的按钮,可以添加额外的输入。将这些输入变量传递给phpJavascript 动态添加的输入don';无法在$\u POST数据中显示,javascript,php,html,forms,Javascript,Php,Html,Forms,我试着在网上搜索这个问题的解决方案,但没有找到。问题是——我有一个表单和一个带有javascript函数的按钮,可以添加额外的输入。将这些输入变量传递给php$\u POST数组后,它将输出除动态创建的输入之外的所有内容。你们知道为什么动态生成的输入没有显示出来吗 <form action="page.php" method="post" id="rekins"> <p>Invoice Number: <input type="text" name="nr"
$\u 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>
发票号码:
账户:
服务:
1.服务
名字
计数
价格
字段=0;
函数addInput(){
字段+=1;
document.getElementById('rekins')。innerHTML+=
“+(字段+1)+”.service”+
""+
“名称”+
“计数”+
“价格””;
}
我试着用var_dump($_POST['pak'])调试显示了代码>和默认值,但未显示动态添加的值
有什么问题吗?我试过了,效果很好
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>
你在用IE浏览器测试代码吗?尝试其他浏览器,例如在Chrome和Firefox上尝试Mozilla,结果相同…然后检查$\u POST
打印代码。正如我在firefox和chrome中测试过你的代码一样,它工作得很好是的,现在可以了。老实说,我不知道以前是什么语法错误。无论如何,谢谢!:)
<?php
print_r( $_POST['pak'] );
?>
Array ( [0] => Array ( [counter] => 1 [name] => [count] => [Price] => ) [1] => Array ( [counter] => 2 [name] => asd [count] => asd [Price] => asd ) )