Javascript 上传文件后,保持在同一页同一选项卡上
我有三个标签的注册流程。在第二个选项卡上,我有浏览和上载文档的功能。我想保持在同一页同一选项卡上,所有数据都保持不变,这样用户可以在上传文件后进入第三个选项卡,并需要显示返回数据(已上传文件的名称)。我已经搜索过了,但到目前为止找不到合适的解决方案。 表单标签下面的for循环显示了当数据从控制器返回视图时,使用codeigniter上传的所有文件的名称 View.phpJavascript 上传文件后,保持在同一页同一选项卡上,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,我有三个标签的注册流程。在第二个选项卡上,我有浏览和上载文档的功能。我想保持在同一页同一选项卡上,所有数据都保持不变,这样用户可以在上传文件后进入第三个选项卡,并需要显示返回数据(已上传文件的名称)。我已经搜索过了,但到目前为止找不到合适的解决方案。 表单标签下面的for循环显示了当数据从控制器返回视图时,使用codeigniter上传的所有文件的名称 View.php <form id="fileupload" method="post" action="<?php echo si
<form id="fileupload" method="post" action="<?php echo site_url('upload_file/upload_it'); ?>" enctype="multipart/form-data">
<div class="fileUpload btn btn-warning">
<span>Browse</span>
<input id="uploadBtn" type="file" multiple="multiple" name="files[]" class="upload" />
</div>
<input id="uploadFile" style="width: 160px; margin-top: 30px;float: left;height: 34px;" placeholder="Choose File" disabled="disabled" />
<button style="padding: 4px;margin-top: 30px;border-radius: 0px;" type="submit" class="btn btn-primary btn-lg">
<span class="glyphicon glyphicon-upload"></span>
</button>
</form>
<div class="col-lg-2" style="padding-left:0px;">
<?php $upload_data=0; if($upload_data != ''):?>
<?php for($i=0;$i<count($upload_data);$i++) { ?>
<span><?php echo $upload_data[$i]['file_name'];?></span>
<?php } ?>
<?php endif;?>
</div>
简单的方法是将一个隐藏的iframe作为目标提供给
元素,以避免重新加载页面
将此iframe添加到HTML:
通过ajax提交表单,并在获得成功响应后移至选项卡3。我没有得到您的答案:(Thanx它现在起作用了。在我没有了解target之前。现在还有一个问题是,我是否需要再次在控制器中加载头文件和注册?还有一件事,文件名没有任何解决方案?使用$u files[“file”访问文件名][“name”]在控制器中,我有数组$data['upload_data']
,我将其作为$this->load->view('registration',$data)
传递到视图中,并在for循环中使用此数组,我回显文件名此代码在单独视图中工作,但当我集成它时,它不工作:(我不清楚如何使用代码$\u FILES[“file”][“name”]
<script>
document.getElementById("uploadBtn").onchange = function (){
var files = document.getElementById("uploadBtn").files;
if(files.length==1)
{
document.getElementById("uploadFile").value = this.value;
}
if(files.length>1)
{
document.getElementById("uploadFile").value = files.length+' Files Selected';
}
};
</script>
<?php
class Upload_file extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
function upload_it()
{
$this->load->helper('form');
$config['upload_path'] = 'application/uploads/';
$config['allowed_types'] = '*';
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->upload->set_allowed_types('*');
$data['upload_data'] = '';
if (!$this->upload->do_multi_upload('files'))
{
$data = array('msg' => $this->upload->display_errors());
}
else
{
$data['upload_data'] = $this->upload->get_multi_upload_data();
}
$this->load->view('include/header');
$this->load->view('registration', $data);
}
}?>
<iframe id="upload_target" name="upload_target" src="#" style="display:none;"></iframe>
<form target="upload_target" ...