这是我的 Controller :
public function detail()
{
if($this->input->post('submit'))
{
$a = $this->input->post('tutorial_overview');
$tutorial_overview = implode(",",(array) $a);
$data = array(
'tutorial_overview' => $tutorial_overview
);
print_r($data)
}
}
查看:detail.php
<script>
$(document).ready(function(){
$("#btnAdd").click(function() {
$("#add_ck").append('<div class="con"><label class="col-sm-3 control-label no-padding-right" for="form-field-1">Sub Heading Overview</label><div class="col-sm-7"><textarea id="overview" name="overview" class="col-xs-12"></textarea></div>' + '<input type="button" class="btnRemove" value="Remove"/></div>');
});
$('body').on('click','.btnRemove',function() {
$(this).parent('div.con').remove()
});
});
</script>
<div class="form-group" id="add_ck">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1">Sub Heading Overview</label>
<div class="col-sm-7">
<textarea id="overview" name="overview" class="col-xs-12"></textarea>
</div>
<div class="col-sm-2">
<input id="btnAdd" type="button" value="Add" />
</div>
</div>
在这段代码中,我有一个文本区域,我在其中通过 jquery 添加和删除了更多文本区域。现在的问题是,当我使用 implode 函数用逗号 (,) 分隔 textarea 值时,但是现在当我单击添加按钮并在文本框中写入一些内容,然后打印值时会发生什么,它显示最后一个 textarea 值 implode 函数是不工作。那么,我该如何解决这个问题呢?
谢谢
最佳答案
希望这对您有帮助:
将 textarea name
attr name="overview"
替换为 name="overview[]"
,两者均采用 form
和 js
代码
你的 Controller 方法detail
应该是这样的:
public function detail()
{
if($this->input->post('submit'))
{
$a = $this->input->post('tutorial_overview');
if ( ! empty($a))
{
foreach($a as $key => $item)
{
$data[$key]['tutorial_overview'] = $item;
}
}
print_r($data)
}
}
关于php - 如何在 ci 中使用动态添加和删除时内爆文本区域值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51259640/