Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php YII:不点击保存按钮上传图像。_Php_Jquery_Ajax_Yii - Fatal编程技术网

Php YII:不点击保存按钮上传图像。

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="

当用户通过ajax从列表中选择文件时,我想直接上传图像。我不想让他们点击保存按钮上传

    <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()
事件