Input 清除一个<;输入类型=文件>;
我正在编写一个HTA,希望用户能够轻松地使用浏览器选择一个.txt文件。此.txt文件将逐行读取并读入数组。所以,我正在使用Input 清除一个<;输入类型=文件>;,input,hta,input-type-file,Input,Hta,Input Type File,我正在编写一个HTA,希望用户能够轻松地使用浏览器选择一个.txt文件。此.txt文件将逐行读取并读入数组。所以,我正在使用,它给了我浏览功能,并做了我需要它来 但当用户选择另一种方法(我已设置)输入数据时,我需要能够清除的文本框 我需要清除它的原因是为了防止用户错误。我目前设置为在他们使用浏览选项时清除手动输入文本框,但无法使其以其他方式工作 我尝试了以下方法(适用于常规文本框) 所有这些都不会清除文本框。出于安全原因,您无法在文件输入字段中修改所选文件 有一个解决方法可以重置它-您可以克隆文
,它给了我浏览功能,并做了我需要它来
但当用户选择另一种方法(我已设置)输入数据时,我需要能够清除
的文本框
我需要清除它的原因是为了防止用户错误。我目前设置为在他们使用浏览选项时清除手动输入文本框,但无法使其以其他方式工作
我尝试了以下方法(适用于常规文本框)
所有这些都不会清除文本框。出于安全原因,您无法在文件输入字段中修改所选文件 有一个解决方法可以重置它-您可以克隆文件输入,并用克隆的输入替换输入。在您的情况下,根据用户的选择显示/隐藏输入可能更容易 例如,您可以有一组单选按钮供用户选择输入法,然后根据用户选择的单选按钮显示相应的字段
如果您必须重置文件输入,您可以使用jQuery的
.clone()
方法,或者手动创建一个新的dom元素,复制所有属性,在原始文件输入后插入,然后删除原始文件。谢谢Sam Dufel。。。你给了我一个主意
创建了一个跨度,用于在加载时创建窗口
跨度代码:
窗口加载代码:
BrowseFile.innerHTML=“”
然后,我将其复制到另一个子系统,该子系统在选择手动数据输入选项时运行。基本上是清除范围并重新创建输入。您不能更改文件输入类型的值,因为这会引入安全漏洞。相反,只需将文件输入替换为新输入即可。执行以下操作,而不是
$('#file').val('')
:
$('#file').replaceWith('<input name="ListFile" type="file" id="file"/>');
请注意,我使用的是委派版本,因此在新输入被替换后,事件仍将在新输入上工作。谢谢Sam Dufel。。。你给了我一个主意。创建了一个跨度,该跨度创建了on Window_onLoad span Code:Window_onLoad Code:BrowseFile.innerHTML=“”,然后我将其复制到另一个子系统,该子系统在他们选择手动数据输入选项时运行。基本上清除范围并重新创建输入。必须为窗体调用reset()
$('#file').replaceWith('<input name="ListFile" type="file" id="file"/>');
$(document).ready(function() {
var empty_input = $('#file').clone();
$('#the-form').on('change', '#file', function(el) {
$('#the-form').submit(); // assuming the target is a hidden iframe
$(this).replaceWith(empty_input.clone());
});
})