在我的项目中,所有的表单都是彼此相似的,所以我想写一个点击功能来运行所有。
下面的代码除了文件之外都可以正常工作。文件值输出为undefined。如何将文件附加到此表单数据?
下面是我的click函数:
$("#save_form").click(
function(event){
event.preventDefault();
var formData = {};
$('.form-value').each(function() {
var id = $(this).attr('id');
var value;
if ($(this).is('select')) {
value = $(this).find('option:selected').val();
} else if ($(this).is(':file')) {
value = $(this)[0].files[0].value; // Returns undefined.
} else {
value = $(this).val();
}
formData[id] = value;
});
console.log(formData);
字符串
当我使用无值时:
value = $(this)[0].files[0]
型
我得到:
Uncaught TypeError: Illegal invocation
型
2条答案
按热度按时间yshpjwxd1#
使用文件本身。文件没有
value
属性。字符串
ippsafx72#
在大卫和他的帮助下,我解决了这个问题。
字符串
型