动态表单不提交文件

时间:2014-01-13 12:12:29

标签: javascript jquery html jsp

我想在summernote中将图片上传到服务器。下面的脚本是成功提交表单但文件未在后端收到。我在这里做错了吗?

var edit = function() {
  $('.click2edit').summernote({
      focus: true,
      onImageUpload: function(files, editor, welEditable) {
            sendFile(files[0],editor,welEditable);
        }
      });
};
function sendFile(file,editor,welEditable) {

    alert(file.size);

    var iframe = $('<iframe name="postiframe" id="postiframe" style="display: none" />');

    $("body").append(iframe);
    alert("1");
    var form = $('#theuploadform');
    form.attr("action", "UploadServlet");
    form.attr("method", "post");
    form.attr("enctype", "multipart/form-data");
    form.attr("encoding", "multipart/form-data");
    form.attr("target", "postiframe");
    form.attr("file", file);
    form.submit();
    alert("2");
    $("#postiframe").load(function () {
        iframeContents = $("#postiframe")[0].contentWindow.document.body.innerHTML;
        return iframeContent;
    });

    return false;
}

2 个答案:

答案 0 :(得分:0)

您无法为HTML上传控件设置默认值。

您需要显示表单以供用户选择文件,然后您可以发布到服务器。

一些参考文献:

http://www.w3schools.com/jsref/prop_fileupload_value.asp

How to set a value to a file input in HTML?

Set default value for a input file form

答案 1 :(得分:0)

谢谢大家。找到了解决这个问题的方法。我更改了summernote代码以返回一个包装表单,然后他们发布了该表单。它发布成功。我在将上传的图像加载到编辑器时遇到了一些问题。但我会为此开始另一个主题。谢谢大家。