代码之家  ›  专栏  ›  技术社区  ›  Richie

是否可以清除struts2文件输入标记?

  •  0
  • Richie  · 技术社区  · 15 年前

    我正在使用Struts2进行Web应用程序开发。我有一个特别的问题,即使在我谷歌搜索之后,我也找不到解决办法。

    我有3个标签,每个标签上都有一个超链接或按钮,如果以前选择了任何内容,就必须用它来清除文件路径。联机找到的解决方案是重置表单。但是所有的s:file标记都将被清除,因为所有的标记都需要以相同的格式。

    是否有任何方法可以在单击时清除单个文件输入??

    1 回复  |  直到 15 年前
        1
  •  1
  •   ZoogieZork    15 年前

    一个类似于我们使用的解决方案是删除输入元素并在其位置创建一个同名的新输入元素。

    编辑 :我举了一个例子。

    <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>
    
    推荐文章