我在使用jQuery验证插件时遇到问题,输入文件无法通过表单的方法进行识别。这就是我得到的:我的表格
表单的类validate
是我用于初始化插件的类。它可以工作,它会验证输入,但是当我单击"Guardar"并print_r('$_FILES');
我得到的是array()
.如果我不将类validate
添加到表单中(不要初始化插件),那么我会得到数据,但没有验证。我能做什么?
Ajax 请求无法处理文件输入类型,这就是您没有在服务器中获取文件数据的原因。
如果您只想支持 html5 FileAPI 支持的浏览器,那么您可以查看 FormData 以使用 ajax 提交文件。您可以在此处和此处阅读有关如何使用 FormData 的更多信息
var form = document.getElementById('form-id');
var formData = new FormData(form);
$.ajax({
url: '',
data: formData
})
如果你想支持跨浏览器,那么你需要看看像jQuery Form这样的插件,它使用iframes模拟类似ajax的表单处理。