AjaxForm清除文件输入元素

时间:2011-08-31 17:07:32

标签: jquery ajax forms input

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

作为参考,出于安全原因,不允许简单地更改文件输入元素的值。我尝试了将innerHTML设置为自身的'innerHTML'技巧,但这也没有用。

2 个答案:

答案 0 :(得分:4)

快速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;

答案 1 :(得分:2)

这里有一篇文章,解释了如何使用jquery ...:http://www.electrictoolbox.com/clear-upload-file-input-field-jquery/

希望这会有所帮助...