Php YII:不点击保存按钮上传图像。
当用户通过ajax从列表中选择文件时,我想直接上传图像。我不想让他们点击保存按钮上传Php YII:不点击保存按钮上传图像。,php,jquery,ajax,yii,Php,Jquery,Ajax,Yii,当用户通过ajax从列表中选择文件时,我想直接上传图像。我不想让他们点击保存按钮上传 <div class="form-group"> <label for="Email" class="col-sm-2 control-label">Profile Picture</label> <div class="col-sm-10"> <input type="
<div class="form-group">
<label for="Email" class="col-sm-2 control-label">Profile Picture</label>
<div class="col-sm-10">
<input type="file" name="profile_pic"/>
<span class="login-error"><?php if (isset($error['profile_pic'])) echo $error['profile_pic'][0]; ?></span>
</div>
<div>
<?php
if(isset($model['profile_pic']))
echo '<img width="200" height="150" class="col-sm-4" src="/uploads/profile/'.$model['profile_pic'].'" alt="" />';
?>
</div>
</div>
侧面图
这是我写的视图代码
有人能建议我怎么做吗
提前感谢。您可以使用jQuery和
用
元素包装输入元素:
<form id="fileForm" method="POST" enctype="multipart/form-data" action="?">
<input id="picInput" type="file" name="profile_pic"/>
</form>
并添加javascript:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://malsup.github.com/min/jquery.form.min.js"></script>
<script>
$(function(){
var $form = $("#fileForm");
$form.ajaxForm({
iframe: true,
success: function(src){
if (!src) return;
$("#picDiv").html('<img width="200" height="150" class="col-sm-4" src="/uploads/profile/'+src+'" alt="" />');
}
});
$("#picInput").change(function(){
$form.submit();
});
});
</script>
$(函数(){
var$form=$(“#文件格式”);
$form.ajaxForm({
伊夫拉姆:是的,
成功:功能(src){
如果(!src)返回;
$(“#picDiv”).html(“”);
}
});
$(“#picInput”).change(函数(){
$form.submit();
});
});
注意,对于包含图片和输入的div,我使用了picDiv
和picInput
id,因此需要添加它们才能正常工作
在控制器中,输出上载和保存的文件名。这个怎么样@Log1c如果不需要任何插件就可以了:)好的,那么您需要使用jQuery(或javascript)
$('input[type=file]')绑定文件输入控件的change()
事件代码>