Jquery load()+ post表单(带有imagefield)?

时间:2014-03-12 14:34:01

标签: javascript jquery ajax

我正在使用load()方法来POST表单并同时加载响应。像这样:

$("#contentdiv").load('upload/', $('#uploadform').serializeArray());

响应可以是来自某些child-html页面中呈现的数据库的实例。它可以是具有错误的相同形式。这就是为什么真的想继续使用load()。它可以顺利处理内置表单错误,CSRF令牌等。

当一个字段是文件/图像字段时,问题是POST。它不起作用。

当表单有文件字段时,是否可以加载()+ POST表单?也许与“ajaxSubmit”相结合?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

你必须知道jQuery没有提交input=file你需要使用隐藏的iframe提交表单,这是那个例子

将此attribute添加到您的表单target="uploadframe"

<script type="text/javascript">
$(function() {
    //append hidden iframe
    $('body').append('<iframe id="uploadframe" name="uploadframe" style="display:none" />');
    //on form submit
    $('#bb-upload-form').submit(function(){
        //add form action url
        $(this).attr('action', 'upload/');
        //add form target
        $(this).attr('target', 'uploadframe');
        //load response from server submited file
        iframe = $('#uploadframe').load(function () {

            //get response 
            response = iframe.contents().find('body');

            alert(response);

        });
    });
});
</script>