0

我在使用 jQuery Validation Plugin 时遇到问题,输入文件无法通过表单的方法识别。这就是我得到的:myform

表单的类validate是我用来初始化插件的。它有效,它验证输入,但是当我点击“Guardar”时,print_r('$_FILES');我得到的是array(). 如果我没有将类添加validate到表单中(不要初始化插件),那么我会得到数据但没有验证。我能做些什么?

4

1 回答 1

3

Ajax 请求无法处理文件输入类型,这就是您没有在服务器中获取文件数据的原因。

如果您只想支持 html5 FileAPI 支持的浏览器,那么您可以查看FormData以使用 ajax 提交文件。您可以在此处此处阅读有关如何使用 FormData 的更多信息

var form = document.getElementById('form-id');
var formData = new FormData(form);
$.ajax({
   url: '',
   data: formData
})

如果您想支持跨浏览器,那么您需要查看像jQuery Form这样的插件,它使用 iframe 模拟类似 ajax 的表单处理。

于 2013-09-21T02:40:49.043 回答