php post不能够通过jquery追加附加的元素
这里是我的代码,希望大家都能理解。
[HTML形式编码]
php post不能够通过jquery追加附加的元素
<form method='post' action='pro/handle.php'><br/>
<input type='text' name='FirstTXT' value='First'>
<button type='button' name='ADDINPUT'>add</button>
<div id='SETSET'>
<!-- prepare for adding input element by using jquery -->
</div>
<input type='text' name='LastTXT' value='Last'>
<button type='submit' name='BTN' value='Submit'>submit</button>
</form>
[Jquery的编码]
$(document).on("click","[name=ADDINPUT]",function(){
var inp = "<input type='text' name='ADDTXT'>";
$("#SETSET").append(inp);
});
到目前为止NO错误/问题对于上述(测试)的代码,jquery的输入做相应地追加到#SETSET中。
[问题是]
点击表格后[提交]按钮,PHP 不能够得到的[ADDTXT]
元素,当我使用PHP循环&得到一切从以前的网页,结果如下: -
[PHP编码]
foreach($_post as $key=>$val){
echo "<br/>$key : $val";
}
[结果]
FirstTXT : First<br/>
LastTXT : Last<br/>
BTN : Submit<br/>
//=== Missing ADDTXT (between First & Last)===//
你们/女士们知道为什么吗?
您有来自该字段的数组。
替换:
var inp = "<input type='text' name='ADDTXT'>";
有了:
var inp = "<input type='text' name='ADDTXT[]'>";
和PHP:
if(is_array($val)) { print_r($val); }
或尝试:
var no = 0;
$(document).on("click","[name=ADDINPUT]",function(){
++no;
var inp = "<input type='text' name='ADDTXT"+ no +"'>";
$("#SETSET").append(inp);
});
对于我的真实编码,名称将不会相同因为每次我加我会把一个数字后面,ADDTXT1,ADDTXT2,ADDTXT3 ....,但即使具有相同的名称,PHP应该能够抓图ADDTXT,但在我的情况下,PHP没有。 – user1493339 2013-03-24 09:38:54
在我的测试envir上,它抓取了ADDTXT,但只有最后一个附加的输入。如果我转换成ADDTXT [],它将获取所有输入。 – Crsr 2013-03-24 09:45:54
我编辑我的答案。请测试它。当我测试,它抓住所有ADDTXTx字段(只有jQuery的修改) – Crsr 2013-03-24 09:51:35
也许这:
HTML:
<form method='post' action='pro/handle.php'><br/>
<input type='text' name='FirstTXT' value='First'>
<button type='button' name='ADDINPUT'>add</button>
<div id='SETSET' style='display: none;'>
<!-- prepare for adding input element by using jquery -->
<input type='text' id='ADDTXT' name='ADDTXT' disabled='disabled'>
</div>
<input type='text' name='LastTXT' value='Last'>
<button type='submit' name='BTN' value='Submit'>submit</button>
</form>
和JS:
$(document).on("click","[name=ADDINPUT]",function(){
$("#SETSET").show();
$("#ADDTXT").removeAttr("disabled");
});
jquery输入确实显示,并且在添加行后仍然是相同的,谢谢 – user1493339 2013-03-24 09:41:32
在'$ _POST'数组中没有'ADDTXT'键? – mkjasinski 2013-03-24 09:45:29
我认为你必须设置DIV的内部HTML不追加value.Use的.html()的jQuery功能。点击 – 2013-03-24 09:29:00
.html()后可以继续插入/追加,请使用firebug检查您的div是否包含正确的html。如果我需要添加更多然后1个输入元素? – user1493339 2013-03-24 09:36:05