这是我用来动态添加/删除输入文本字段的脚本。我正在使用容器属性,因此我可以为此输入字段创建多个单独的 block 。
$(function(){
$('.container > a').click(function(e){
e.preventDefault();
var $this= $(this),
prnt = $this.parent(),
i = prnt.find('input').length;
if($this.hasClass('add')){
$('<div><input type="text" class="field" name="dynamic[]" value="' + i + '" /></div>').hide().fadeIn('slow').appendTo($('.inputs',prnt));
}else if($this.hasClass('remove') && i > 1){
prnt.find('input.field:last').remove();
}else if($this.hasClass('reset') && i > 1){
prnt.find('input.field:gt(0)').remove();
}
});
})
这是我用来构建输入字段的 html 代码:
<div class="container">
<a href="#" class="add">Add</a> | <a href="#" class="remove">Remove</a> | <a href="#" class="reset">reset</a>
<div class="inputs">
<input type="text" name="dynamic1" class="field"/>
</div>
</div>
我需要一个 PHP 代码来输出输入字段中的所有字段。如果我添加 3 个输入字段,我希望 PHP 代码依次输出所有这些输入字段。
我尝试使用 foreach 代码:
<?php
foreach($_POST['dynamic[]'] as $value) {
echo "$value <br />"; // change this to what you want to do with the data
}
?>
但我在第二行(foreach 行)不断收到错误
我该怎么做?请帮忙!
最佳答案
你应该改变
foreach($_POST['dynamic[]'] as $value) {
至
foreach($_POST['dynamic'] as $value) {
那就是如果你有这样的 HTML
<input type="text" name="dynamic[]" class="field"/>
<input type="text" name="dynamic[]" class="field"/>
但是使用您当前的 HTML <input type="text" name="dynamic1" class="field"/>
你可以看到$_POST['dynamic']
不是一个数组,你应该像这样回显它
echo $_POST['dynamic1'] ;
关于php - 如何使用 FOREACH 命令将添加的文本字段输出到 PHP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12615782/