通过AjaxForm提交图像并执行回调

时间:2015-01-21 15:00:22

标签: javascript ajax

我有以下功能

(inside onchange; console.log works well)
$("#prof_picture").ajaxForm(
        {

        target: '#preview',
        success: function(response){

            console.log("called");

        }
}); 

未调用成功函数,因此未收到反馈。反馈以下列方式回应"{message:"success",action:"something",data:Array}"。有谁可以帮助我吗?非常感谢你

这是表格

<form id="profile_picture_upload" enctype="multipart/form-data" action="profile/uploadProfilePicture.php" method="post" name="prof_picture">
   <input id="profpic1" style="display:none;" name="profile_picture" type="file">
   <a id="change_profile_picture" class="profile_option" onclick="$('#profpic1').click();">Upload</a>
</form>

1 个答案:

答案 0 :(得分:1)

正如昆汀所说,表格没有提交。

将ajax绑定到正确的表单ID而不是表单的名称

$("#profile_picture_upload").ajaxForm(
    {

    target: '#preview',
    success: function(response){

        console.log("called");

    }
}); 

并使用此html提交表单

<form id="profile_picture_upload" enctype="multipart/form-data" action="profile/uploadProfilePicture.php" method="post" name="prof_picture">
   <input id="profpic1" style="display:none;" name="profile_picture" type="file" onchange="$('#profile_picture_upload').submit();">
   <a id="change_profile_picture" class="profile_option" onclick="$('#profpic1').click();">Upload</a>
</form>

虽然如果你这样做会点击进入下一页,所以你可能想要添加return false以防止它离开这个页面。