jquery - AjaxForm 清除文件输入元素

标签 jquery ajax forms input

我有一个 html 表单,已通过 ajaxForm({...}) 调用将其转换为 ajaxForm。其中一个元素是 fileInputElement。另外,我还集成了一个 MultiSelector ( MultiSelector Source )。当输入元素更改时,我会进行一些验证,以确保用户选择的文件与他们在网页上标记的内容相匹配。我遇到的问题是,如果用户选择了错误的文件,我将返回 false,但文件输入元素仍然指向用户选择的“错误”文件。我要么想阻止这种情况,要么在返回 false 后清除它。有什么想法吗?

仅供引用,出于安全原因,不允许简单地更改文件输入元素的值。我尝试了将innerHTML 设置为自身的“innerHTML”技巧,但这也不起作用。

最佳答案

快速 JS 解决方案 - 只需将其替换为新的(不理想,但应该可行):

类似的事情:

HTML:

<div id="some_file_field_wrapper">
    <input type="file" />
</div>

JavaScript:

var file_html = '<input type="file" />';
var elem_id   = 'some_file_field_wrapper';
document.getElementById( elem_id ).innerHTML = file_html;

关于jquery - AjaxForm 清除文件输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7260739/

相关文章:

jquery - 为什么第 nth-child 返回那个?

javascript - 等待 5 秒并查看文本

php - 如何检测它是否是 WordPress 中的 AJAX 请求?

javascript - 用于打开网页、编辑输入字段和提交表单的脚本

javascript - 单击选项卡时如何防止自动滚动

javascript - jquery.transit - 如何将转换传递给元素的 "right"属性而不是 "left"?

javascript - 使用PrototypeJs,如何异步加载jsp页面

php - 为了解决 ajax 'same origin policy' 问题,需要编写 PHP ajax 请求转发器的代码吗?

php - 如何在 PHP 中正确转义 HTML 表单输入默认值?

javascript - 单击时更改输入字段的文本