jQuery验证插件清除IE中的文件输入值
Posted
技术标签:
【中文标题】jQuery验证插件清除IE中的文件输入值【英文标题】:jQuery validate plugin clearing file input value in IE 【发布时间】:2010-09-26 02:12:10 【问题描述】:我目前正在使用这个 jQuery validate 插件,并且在 IE 中遇到了一个问题,即在验证表单的其余部分时它会删除文件输入字段的值。
在我看来,这似乎是一个焦点问题,我选择要上传的文件,单击另一个输入字段并清除该值 - 这也只会发生在文件输入字段上,表单中的任何其他类型的输入都会保留其价值观很好。我一直在玩插件文件,但似乎没有任何改变它清除字段的事实,也查看了谷歌并找不到任何帮助。
我已经在其他浏览器上测试过这个问题,并且值仍然存在,所以它只是在 IE 中。
有没有其他人使用过这个插件并且遇到过同样的问题?
任何帮助都会很棒,谢谢:)
【问题讨论】:
如果您在问题中发布验证规则(以及文件上传字段的名称)可能会有所帮助。 同意 Marc - 发布您的错误的真正简化版本,我们将能够提供帮助。 jQuery.validate 是个炸弹,顺便说一句。 【参考方案1】:我已经有一段时间没有使用 IE 文件 INPUT 元素了,但我想我仍然记得足够的帮助。
我记得,IE 会清除任何不是由 IE 本身设置的文件 INPUT。我认为他们的逻辑是“文件输入应该只具有用户想要的有效路径,因此如果文件输入是由 javascript 设置的,则假定它是恶意的并清除输入”。
因此,如果您的验证逻辑包含任何类型的 $("INPUT[type='file']").val(something)
类似的东西,那将解释您看到的行为。希望对您有所帮助。
【讨论】:
以上是关于jQuery验证插件清除IE中的文件输入值的主要内容,如果未能解决你的问题,请参考以下文章