我遇到了jQuery Validation Plugin的问题,输入文件没有被表单方法识别出来。 这就是我得到的:myform
表单的validate
类是我用来初始化插件的。它有效,它验证输入,但当我点击“Guardar”和print_r('$_FILES');
我得到的是array()
。如果我没有将类validate
添加到表单(不要初始化插件),那么我得到数据但没有验证。
我该怎么办?
答案 0 :(得分:3)
Ajax请求无法处理文件输入类型,这就是您没有在服务器中获取文件数据的原因。
如果您只想支持html5 FileAPI支持的浏览器,那么您可以查看FormData以使用ajax提交文件。您可以详细了解如何使用FormData here和here
var form = document.getElementById('form-id');
var formData = new FormData(form);
$.ajax({
url: '',
data: formData
})
如果您想支持跨浏览器,那么您需要查看像jQuery Form这样的插件,该插件使用iframe模拟ajax表单处理。