我必须提交包含动态列的 codeIgniter 表单。我如何使用循环从 Controller 获取它们。
这是我的查看页面
<?php echo form_open_multipart('main_controller/do_insert');?>
<div id="mainDiv">
<div><input type="text" name="name0"/></div>
<div><input type="file" name="img0"/></div>
</div>
<input type="button" value="add an entry" onClick="add('0')">
<input type="submit" value="save all"/>
<?php from_close();?>
<script>
function add(x)
{
var count=x;count++;
var str1="<div><input type='text' name='name"+count+"'/></div>"
var str2="<div><input type='file' name='img"+count+"'/></div>"
var str3="<input type='button' value='add an entry' onClick='add(`1`)'>";
$("#mainDiv").append(str1+str2+str3);
}
</script>
注意:“x”的值可能无法正常工作,但它与此处无关,可以通过全局变量修复它。
我的问题是,在提交表单时,如何编写 Controller 来获取包括图像在内的所有值并将它们保存到表中。
最佳答案
我的建议, 使用文件名作为数组字段。
<?php echo form_open_multipart('main_controller/do_insert');?>
<div id="mainDiv">
<div class='group'>
<div><input type="text" name="name[]"/></div>
<div><input type="file" name="img[]"/></div>
</div>
</div>
<input type="button" id="add an entry">
<input type="submit" value="save all"/>
<?php from_close();?>
Script look like..
<script>
$('#add an entry').on('click', function() {
var cloneRow = $('.group').clone();
cloneRow.find("input").val("").end();
cloneRow.appendTo('#mainDiv');
</script>
then in controller:
foreach($this->input->post() as $post){
//do action on your data...here
}
foreach($_FILES['userfile'] as $key => $value)
{
//images data
}
关于javascript - CodeIgniter:用于获取包括图像在内的值的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29361946/