0

我在 asp.net 网格视图中有多个文件上传控件,我想在错误的文件选择时清除/重置文件上传控件。

文件上传1 btnReset1 文件上传2 btnReset2 ...

当我单击 btnReset2 时,只清除 fileupload2 的值

我如何使用 java 脚本来做到这一点。

谢谢大家

我的代码如下。

JS代码:-

<script type="text/javascript">
        function hi(ob) {
            debugger;
            var grid = document.getElementById("<%= GridView1.ClientID %>");
            var inputs = grid.getElementsByTagName("input");
            var fileUpload;
            var strRowNo = ob.id.toString().split("_")[3];//get row number
            alert(strRowNo);
            for (var i = 0; i < inputs.length; i++) {
                if (inputs[i].type == "file") {
                    fileUpload = inputs[i];
                    if (i == strRowNo) {
                        fileUpload.value = "";
                    }
                }
            }
        }
    </script>

//Aspx Code:-
  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="A" HeaderText="A" />
                    <asp:BoundField DataField="B" HeaderText="B" />
                    <asp:BoundField DataField="C" HeaderText="C" />
                    <asp:TemplateField HeaderText="File">
                        <ItemTemplate>
                            <div id="fuDiv" runat="server">
                                <asp:FileUpload ID="fupFile" runat="server" />
                            </div>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Reset">
                        <ItemTemplate>
                            <asp:Image ID="ibtnReset" runat="server" onClick="javascript:hi(this);" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </ContentTemplate>
    </asp:UpdatePanel>
4

1 回答 1

0
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="A" HeaderText="A" />
                <asp:BoundField DataField="B" HeaderText="B" />
                <asp:BoundField DataField="C" HeaderText="C" />

                <asp:TemplateField HeaderText="File">
                    <ItemTemplate>
                        <div id="fuDiv" runat="server">
                        <asp:UpdatePanel ID="update_fupFile" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                            <asp:FileUpload ID="fupFile" runat="server" />
                        </ContentTemplate>
                        <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="ibtnReset" EventName="Click" />
                        </Triggers>
                            </asp:UpdatePanel>
                        </div>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Reset">
                    <ItemTemplate>
                     <asp:UpdatePanel ID="update_fupFile" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                        <asp:Image ID="ibtnReset" runat="server" onClick="javascript:hi(this);" />
                        </ContentTemplate>
                       </asp:UpdatePanel>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>
于 2012-07-12T11:14:01.790 回答