【问题标题】:issues with jQuery Validation Plugin and input FilejQuery Validation Plugin 和输入文件的问题
【发布时间】:2013-09-21 02:33:56
【问题描述】:
我在使用 jQuery 验证插件时遇到问题,输入文件无法通过表单的方法识别。
这是我得到的:myform
表单的validate 类是我用来初始化插件的。它有效,它验证输入但是当我点击“Guardar”和print_r('$_FILES');时,我得到的是array()。如果我没有将 validate 类添加到表单中(不要初始化插件),那么我会得到数据但没有验证。
我能做什么?
【问题讨论】:
标签:
javascript
php
jquery
jquery-validate
【解决方案1】:
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 的表单处理。