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

发布于 2024-08-18 04:59:09 字数 207 浏览 7 评论 0原文

我正在使用 Struts2 进行 Web 应用程序开发。我有这个特殊的问题,即使我用谷歌搜索后也找不到解决方案。

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

有什么方法可以清除单击时的单个文件输入吗?

I am using Struts2 for a web application development. i have this particular problem for which i couldnt find a solution even after i googled.

I have 3 tags with a hyperlink or button against each, which has to be used to clear the filepath if anything was previously selected. The solution which was found online was to reset the form.. but then all the s:file tags will be cleared since all tags need to be in the same form.

Is there any way to clear a single file input on some click??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别挽留 2024-08-25 04:59:09

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

编辑:这是我整理的一个例子。

<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>

One solution similar to what we've used is to remove the input element and create a new input element in its place, with the same name.

EDIT: Here's an example I threw together.

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文