Javascript 动态表单未提交文件
我正在尝试将图像上传到summernote中的服务器。下面的脚本是成功提交表单,但后端未收到文件。我做错什么了吗Javascript 动态表单未提交文件,javascript,jquery,html,jsp,Javascript,Jquery,Html,Jsp,我正在尝试将图像上传到summernote中的服务器。下面的脚本是成功提交表单,但后端未收到文件。我做错什么了吗 var edit = function() { $('.click2edit').summernote({ focus: true, onImageUpload: function(files, editor, welEditable) { sendFile(files[0],editor,welEditable);
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;
}
var edit=function(){
$('.click2edit').summernote({
焦点:对,
onImageUpload:功能(文件、编辑器、可编辑){
sendFile(文件[0],编辑器,可编辑);
}
});
};
函数sendFile(文件、编辑器、可编辑){
警报(file.size);
变量iframe=$('');
$(“正文”)。附加(iframe);
警报(“1”);
变量形式=$(“#上传形式”);
attr(“action”,“UploadServlet”);
表格attr(“方法”、“职位”);
form.attr(“enctype”、“多部分/表单数据”);
attr(“编码”、“多部分/表单数据”);
表格attr(“目标”、“后框架”);
form.attr(“文件”,file);
表单提交();
警报(“2”);
$(“#positframe”).load(函数(){
iframeContents=$(“#PostFrame”)[0].contentWindow.document.body.innerHTML;
返回iframe内容;
});
返回false;
}
无法为HTML上载控件设置默认值
您需要显示表单供用户选择文件,然后您可以发布到服务器
一些参考资料:
谢谢大家。找到解决这个问题的办法了。我更改了summernote代码以返回包装表单,然后他们发布了该表单。它成功地发布了。我在将上传的图像加载到编辑器时遇到一些问题。但我会为这个开始另一个线程。谢谢大家。@rkanawo有我的工作吗。限制是我只能在这个位置获取文件。在没有用户交互的情况下获取文件的唯一方法是在客户端计算机上预安装软件,使用ActiveX控件(仅适用于IE)或Java小程序运行页面,但存在一些安全问题。