Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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/7/symfony/6.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
Javascript 如何使用函数回调提交更改表单_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用函数回调提交更改表单

Javascript 如何使用函数回调提交更改表单,javascript,jquery,Javascript,Jquery,如果他们选择了一个文件,我试图在更改时提交一个表单,但是当我提交时,它没有为我的ajax运行回调函数 $(function(){ $("#page_photo").on("change", function() { alert("1st stage"); $('#image_upload').trigger("submit", function(){ alert("2nd stage"); var for

如果他们选择了一个文件,我试图在更改时提交一个表单,但是当我提交时,它没有为我的ajax运行回调函数

$(function(){

    $("#page_photo").on("change", function() {

        alert("1st stage"); 

        $('#image_upload').trigger("submit", function(){

        alert("2nd stage");

            var formData = new FormData($(this)[0]);

            $.ajax({
                url: '<?php echo Config::get('URL'); ?>image/upload_user_photo',
                type: 'POST',
                data: formData,
                async: false,
                success: function (data) {
                    if(!data.success){
                        $.notify(data.error, "error");
                    }else{
                        $.notify(data.success, "success");
                    }
                },
                cache: false,
                contentType: false,
                processData: false
            });

            return false;
        }); 
    });
});
$(函数(){
$(“第页照片”)。关于(“更改”,函数(){
警报(“第一阶段”);
$('#图像上传')。触发器(“提交”,函数(){
警报(“第二阶段”);
var formData=新formData($(此)[0]);
$.ajax({
url:“图像/上传用户照片”,
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){
如果(!data.success){
$.notify(data.error,“error”);
}否则{
$.notify(data.success,“success”);
}
},
cache:false,
contentType:false,
processData:false
});
返回false;
}); 
});
});

我不希望用户在提交文件之前必须按下submit按钮,就在他们选择文件的时候,因此
。submit
对此不起作用

我建议如下。如何准确地获取上传的文件在一定程度上取决于您的HTML,但是如果您能够正确地获取数据,则无需启动提交,只要在发生更改时启动AJAX调用即可

$(function(){

    $("#page_photo").on("change", function() {

        alert("1st stage"); 
        //BELOW MIGHT NEED TO BE CHANGED TO CORRECTLY GET THE IMAGE
        var formData = new FormData($('#image_upload')[0]);

        $.ajax({
            url: '<?php echo Config::get('URL'); ?>image/upload_user_photo',
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                if(!data.success){
                    $.notify(data.error, "error");
                }else{
                   $.notify(data.success, "success");
                }
            },
            cache: false,
            contentType: false,
            processData: false
        });
    });
});
$(函数(){
$(“第页照片”)。关于(“更改”,函数(){
警报(“第一阶段”);
//下面可能需要更改以正确获取图像
var formData=new formData($('#image_upload')[0]);
$.ajax({
url:“图像/上传用户照片”,
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){
如果(!data.success){
$.notify(data.error,“error”);
}否则{
$.notify(data.success,“success”);
}
},
cache:false,
contentType:false,
processData:false
});
});
});

我建议如下。如何准确地获取上传的文件在一定程度上取决于您的HTML,但是如果您能够正确地获取数据,则无需启动提交,只要在发生更改时启动AJAX调用即可

$(function(){

    $("#page_photo").on("change", function() {

        alert("1st stage"); 
        //BELOW MIGHT NEED TO BE CHANGED TO CORRECTLY GET THE IMAGE
        var formData = new FormData($('#image_upload')[0]);

        $.ajax({
            url: '<?php echo Config::get('URL'); ?>image/upload_user_photo',
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                if(!data.success){
                    $.notify(data.error, "error");
                }else{
                   $.notify(data.success, "success");
                }
            },
            cache: false,
            contentType: false,
            processData: false
        });
    });
});
$(函数(){
$(“第页照片”)。关于(“更改”,函数(){
警报(“第一阶段”);
//下面可能需要更改以正确获取图像
var formData=new formData($('#image_upload')[0]);
$.ajax({
url:“图像/上传用户照片”,
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){
如果(!data.success){
$.notify(data.error,“error”);
}否则{
$.notify(data.success,“success”);
}
},
cache:false,
contentType:false,
processData:false
});
});
});

您应该使用以下语法绑定提交回调:

$('#image_upload').bind("submit", function(){
    alert("2nd stage");
});
然后使用以下代码触发提交事件:

$('#image_upload').trigger("submit");

应使用以下语法绑定提交回调:

$('#image_upload').bind("submit", function(){
    alert("2nd stage");
});
然后使用以下代码触发提交事件:

$('#image_upload').trigger("submit");

我需要提交表单,因为它通过了
enctype=“multipart/form data”
。我需要提交表单,因为它通过了
enctype=“multipart/form data”
。你认为触发器(“submit”,function(){})在做什么?你认为触发器(“submit”,function(){})是什么正在做??接受我的喜欢:)将提交最佳答案。接受我的喜欢:)将提交最佳答案。