Javascript 从动态构建的表单提交时,ajaxForm正在发送空帖子

Javascript 从动态构建的表单提交时,ajaxForm正在发送空帖子,javascript,jquery,forms,post,ajaxform,Javascript,Jquery,Forms,Post,Ajaxform,使用ajaxSubmit()提交文件在表单硬编码时可以正常工作。但是动态创建表单时,服务器接收的数据为空 此版本有效 HTML 在.on(“提交”…,jQuery(this).formSerialize()生成“myfile=%5Bobject+文件%5D” 但此版本使用动态创建的表单发送空数据 HTML 但是在这里,debuggin在.on(“submit”…,jQuery(this).formSerialize()中产生” 此函数用于生成表单 // function build_form (

使用
ajaxSubmit()
提交文件在表单硬编码时可以正常工作。但是动态创建表单时,服务器接收的数据为空

此版本有效

HTML

.on(“提交”…
jQuery(this).formSerialize()
生成
“myfile=%5Bobject+文件%5D”

但此版本使用动态创建的表单发送空数据

HTML

但是在这里,debuggin在
.on(“submit”…
jQuery(this).formSerialize()
中产生

此函数用于生成表单

//
function build_form (){
    var new_inner_div_elem = document.createElement('div');
    new_inner_div_elem.id = 'parent_elem_div';

    var upload_form = document.createElement('form');
    upload_form.id = 'file_upload_form';
    upload_form.action = '/upload';
    upload_form.method = 'POST';
    upload_form.enctype="multipart/form-data";

    var file_input = document.createElement('input');
    file_input.type = 'file';
    file_input.id = 'file_upload_input';

    var file_upload_submit = document.createElement('input');
    file_upload_submit.type = 'submit'; 

    upload_form.appendChild(file_input);
    upload_form.appendChild(file_upload_submit);

    new_inner_div_elem.appendChild(upload_form);
    return new_inner_div_elem;
}

啊哈!给你,在你的代码里:

var file_input = document.createElement('input');
file_input.type = 'file';
file_input.id = 'file_upload_input';
这是缺失的:

file_input.attr('name', 'myfile');
这是HTML表单仅有的部分,而Dynamic表单没有,所以我想这就是诀窍

如果HTML没有名称,则不会将其传递给 查询字符串或POST数据-将无法检索它 来自PHP 这是从


啊哈!给你,在你的代码里:

var file_input = document.createElement('input');
file_input.type = 'file';
file_input.id = 'file_upload_input';
这是缺失的:

file_input.attr('name', 'myfile');
这是HTML表单仅有的部分,而Dynamic表单没有,所以我想这就是诀窍

如果HTML没有名称,则不会将其传递给 查询字符串或POST数据-将无法检索它 来自PHP 这是从


当表单以友好方式创建时,on是否在
jQuery(“文件上传表单”)中提交代码。on(“提交”…
触发?没有定义
build\u file\u upload\u form
这样的函数。我不确定,您是否可以像这样上传文件。重构打字错误。修复了。@hRvoed是的,在这两种情况下,
on('submit'
触发。(我的服务器在这两种情况下都会收到一个请求。但在后一种情况下,帖子内容是空的。)我希望不要让服务器代码过于复杂,因为它不会改变,但如果你想的话,我会澄清这一点。当以友好方式创建表单时,是否在
jQuery(#file#u upload_form)中提交代码。on(“提交”…
trigger?没有定义
build\u file\u upload\u form
这样的函数。我不确定,你可以像那样上传文件。重构打字错误。修复。@hRvoed是的,在这两种情况下,
.on('submit'…
触发。(我的服务器在这两种情况下都会收到请求。但在后一种情况下,帖子内容是空的。)我不希望服务器代码过于复杂,因为它不会改变,但如果你想,我会澄清这一点。
var file_input = document.createElement('input');
file_input.type = 'file';
file_input.id = 'file_upload_input';
file_input.attr('name', 'myfile');