我正在使用Struts2进行Web应用程序开发。我有这个特殊的问题,即使我用谷歌搜索后也无法找到解决方案。
我有3个标签,每个标签都有一个超链接或按钮,如果之前选择了任何内容,则必须使用它来清除文件路径。在网上找到的解决方案是重置表单..但是所有s:文件标签都将被清除,因为所有标签都必须采用相同的形式。
有没有办法在某些点击时清除单个文件输入?
答案 0 :(得分:1)
一个类似于我们使用的解决方案是删除input元素并在其位置创建一个具有相同名称的新input元素。
编辑:这是我拼凑的一个例子。
<script type="text/javascript">
function clearFoo() {
var inp = document.getElementById("foo");
var parent = inp.parentNode;
// Create the new input element.
// Copy over any attributes you need.
var newInp = document.createElement("input");
newInp.type = "file";
newInp.name = inp.name;
// Replace the old node with the new node.
parent.insertBefore(newInp, inp);
parent.removeChild(inp);
// The new node is the new "foo".
newInp.id = "foo";
}
</script>
<s:file id="foo" name="foo"/>
<button onclick="clearFoo();">Click</button>