如何使用文件字段创建隐藏表单
How to make a hidden form with a file field
我有一个可编辑的动态生成的表。单击表中的任何单元格,我都可以更改其文本。
在一列中显示了一个图像。当用户点击它时,我将该列的html更改为<input type='file'>
并触发点击,从而使用户选择要上传的文件作为图标。
在表的最后一列中,我有一个提交按钮。如果用户进行了一些更改并按下commit,我必须提取整行(一些文本字段和一个文件字段),并将所有内容添加到表单中,包括用户选择的文件,然后将其发送到python脚本,将其上传到s3服务器。
我的问题是:我该如何发送这份表格?
我目前正在使用脚本this,但它不起作用,因为它只是在python(django)脚本端request.Files
为空时发送文本。
function update(a) {
try {
var button = $(a);
var row = $(button.parent());
var rowcount = button.parent().parent().parent().children().index(button.parent().parent());
var filerow = '';
var formrow = new Array();
var rowkey = new Array('Topic', 'TopicDescription');
var cnt = 0;
var form = $('#dyno_form');
row.siblings().each(function () {
if ($(this).find($('input:file')).length > 0) {
$(this).find($('input:file')).appendTo($(form));
} else if ($(this).find($('img')).length == 0) {
formrow[cnt++] = '<input type="text" value="' + $(this).html() + '" name="' + rowkey[cnt - 1] + '"/>';
}
});
$(form).append(formrow[0]);
$(form).append(formrow[1]);
$(form).submit();
} catch (a) {
alert(a);
}
}
这是HTML:
<form id='dyno_form' action='' method="post" style="visibility:hidden">{% csrf_token %}</form>
我该怎么做?
当您想要上传文件时,form
元素需要具有正确的enctype
属性,并且方法必须是post
。
<form enctype="multipart/form-data" method="post" ...
否则,将只上载输入的值。
相关文章:
- 使用javascript取消隐藏和隐藏表单中的某些元素
- 如何使用javascript隐藏表单的选项
- 模拟隐藏表单提交&使用JavaScript重定向以实现安全支付
- 未执行Ajax隐藏表单提交验证
- 在同一个html页面中显示servlet响应而不隐藏表单
- 自动提交隐藏表单值
- 如何筛选出发布的隐藏表单输入类型
- 如何在angularjs中提交后隐藏表单
- 如果用户登录了Backbone,JavaScript,如何显示/隐藏表单
- 显示/隐藏表单区域(im 使用引导程序)
- 如何隐藏表单并仅在选中时显示
- 如何通过隐藏表单在同一页面中显示表单输出
- 如何在同一窗口中显示表单输出并隐藏表单
- 使用 jquery 选择选项时隐藏表单选项
- 当一组元素的所有元素都具有特定值时,如何隐藏表单元素
- 如果禁用了javascript,则隐藏表单
- 选择下拉列表中的值时隐藏表单
- 无法隐藏/取消隐藏表单内的按钮
- 如何根据最后选择的选项(单选按钮)使用 javascript 隐藏表单输入
- 显示和隐藏表单