Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问GridView中的控件_Javascript_Jquery_Html_Asp.net_Gridview - Fatal编程技术网

Javascript 如何访问GridView中的控件

Javascript 如何访问GridView中的控件,javascript,jquery,html,asp.net,gridview,Javascript,Jquery,Html,Asp.net,Gridview,我对ASP.NET比较陌生,边学习边思考,我有以下问题: 我在UpdatePanel中定义了一个GridView: <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <div id="divIsoSelect" style="width:700px; height:60px; background-color:white"> <fieldset>

我对ASP.NET比较陌生,边学习边思考,我有以下问题:

我在UpdatePanel中定义了一个GridView:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate> 
   <div id="divIsoSelect" style="width:700px; height:60px; background-color:white">
    <fieldset>
        <legend style="font-size: larger; font-weight: bold">Search ISO by</legend>
 <table>
    <tr>
        <td>
         <asp:DropDownList ID="ddlISOSearch" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlISOSearch_SelectedIndexChanged">
            <asp:ListItem Value="">Select...</asp:ListItem>
            <asp:ListItem Value="ISO Number" >ISO Number</asp:ListItem>
            <asp:ListItem Value="Name">Name</asp:ListItem>
            <asp:ListItem Value="Region" >Region</asp:ListItem>
            <asp:ListItem Value="Division">Division</asp:ListItem>                
            </asp:DropDownList></td>
           <td >&nbsp;</td>
        <td>
            <asp:Panel ID="pnlSearchEntry" runat="server" Visible="false" style="width:500px; border:gainsboro; border-width: thick;">
            <table>
            <tr>
                <td valign="middle" style="width:120px"><asp:Label ID="lblEntry" runnat="server" Text=""></asp:Label></td>

                <td valign="top"><asp:TextBox ID="txtSearchValue" runat="server"></asp:TextBox></td>

                <td valign="top">&nbsp;&nbsp;<asp:Button ID="btnFind" runat="server" Text="Select" OnClick="btnFind_Click"/></td>
            </tr>
            </table>
        </asp:Panel>
    </td>
    </tr>
</table>               
</fieldset>
</div>
        <div>    
        <p> <asp:Label ID="lblMsg" runat="server" style="position:absolute; left: 221px; top: 110px;"></asp:Label></p>
        </div>
        <div>

            <asp:GridView ID="grvIsoSearchResults" runat="server" 
                AutoGenerateColumns="False" PageSize="10"
                AllowPaging = "true" Visible="true"  BorderColor="Red" GridLines="Both"
                OnPageIndexChanged="grvIsoSearchResults_PageIndexChanged" 
                OnPageIndexChanging="grvIsoSearchResults_PageIndexChanging" 
                OnSelectedIndexChanged="grvIsoSearchResults_SelectedIndexChanged" 
                OnSelectedIndexChanging="grvIsoSearchResults_SelectedIndexChanging">
                <PagerSettings FirstPageText="First" LastPageText="Last" NextPageText="Next" PageButtonCount="100" />
                <Columns>
                   <asp:TemplateField HeaderText="ISONUM">
                        <ItemTemplate>
                            <asp:Label ID="txtgvIsoNum" Text = '<%# Eval("ISONUM")%>' runat="server" Width="70px" style="text-align:center" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="OFFICE NAME">
                        <ItemTemplate>
                            <asp:Label ID="txtgvIsoOfficeName" Text = '<%# Eval("ISOOFFICENAME")%>' runat="server" Width="200px" style="text-align:center" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="REGION">
                        <ItemTemplate>
                            <asp:Label ID="txtgvRegion" Text = '<%# Eval("REGION")%>' runat="server" Width="50px" style="text-align:center" />
                        </ItemTemplate>
                    </asp:TemplateField> 
                    <asp:TemplateField HeaderText="DIVISION">
                        <ItemTemplate>
                            <asp:Label ID="txtgvDivision" Text = '<%# Eval("CLIENT_ID")%>' runat="server" Width="50px" style="text-align:center" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="EMAIL ADDRESS">
                        <ItemTemplate>
                            <asp:TextBox ID="txtgvEmailAddress" Text = '<%# Eval("EMAIL")%>' runat="server" Width="300px" />
                            <asp:Button ID="btnUpdateEmail" Text = "Update" runat="server" Width="70px" OnClientClick="ValidateEmail()"/>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>                    
        </div>           

 </ContentTemplate>
</asp:UpdatePanel>
  <asp:UpdateProgress ID="UpdateProgress1" runat="server">
  <ProgressTemplate>
           Please Wait.....
  </ProgressTemplate>
  </asp:UpdateProgress>
现在我想验证我的电子邮件字段:

   function ValidateEmail()
   {
       var email = document.getElementById('<%=txtgvEmailAddress.ClientID%>').value;
   }
但我无法访问gridview中的电子邮件字段。我该怎么做才能修好它


谢谢你

如果目标是验证电子邮件地址是否有效,那么你可以使用asp:RegularExpression控件来验证。将此项包含在您的文本框控件下。摆脱onclient点击按钮

<asp:RegularExpressionValidator ID="regexEmailValid" runat="server" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="txtgvEmailAddress" ErrorMessage="Invalid Email Format"></asp:RegularExpressionValidator>

必须将行索引存储在HTML Hiddenfield中,该HTML Hiddenfield必须具有clientidmode属性static

function ValidateEmail()
   {
    var rowindex=document.getElementById('hiddenfeild').value;
    if(document.getElementById('grvIsoSearchResults_txtgvEmailAddress_' + rowindex.toString() + '').value=="")
    {
      //write your code here
    }
}

我已经试过了。发生的事情是,在我有有效电子邮件地址的每一行上,我都会收到错误消息。此外,我的下拉部分在检查电子邮件后立即停止工作。在下拉部分中,我单击了一个按钮,应该搜索数据。在执行验证之后,不会发生任何事情