如何获得GridView控件内文本框的值 [英] How to get value of textbox inside of gridview

查看:271
本文介绍了如何获得GridView控件内文本框的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 GridView控件有一个的ContentTemplate 包含的ItemTemplate
的ItemTemplate 文本按钮

下面是code的片段:

 < ASP:的TemplateField的HeaderText =电子邮件>
      <&ItemTemplate中GT;
         < ASP:文本框=服务器ID =txtEmail文本='<%#的eval(CustEmail)%>' />
              < ASP:按钮的ID =btnUpdate文本=更新邮件按钮类型=按钮的CommandName =UpdateEmail
               可见=真=服务器
               的OnClientClick =返回ValidateEmail(本)/>         < / ItemTemplate中>
     < / ASP:的TemplateField>

我在做什么在呼唤 ValidateEmail()方法来验证我的电子邮件领域。为此,我需要得到电子邮件字段的值来验证它。

这是我的 ValidateEmail()方法:

 函数ValidateEmail(btnObj)
        {        警报(btnObj.id);
        VAR电子邮件= $(btnObj).closest('输入')ATTR(ID)。
        警报(电子邮件)
        返回false;
    }

我能够获得 ID 我的按钮,这是 MainContent_GridView1_btnUpdate_0

这是我的GridView控件呈现的HTML:

 < D​​IV>
<表CELLSPACING =0ID =MainContent_GridView1的风格=边界崩溃:崩溃;>
    &所述; TR>
        百分位范围=山口&GT;&LT;一href=\"javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustID&#39;)\">Customer ID&LT; / A&GT;&LT; /第i个百分位范围=山口&GT;&LT;一href=\"javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustFirstName&#39;)\">First名称和LT; / A&GT;&LT; /第i个百分位范围=山口&GT;&LT;一href=\"javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustLastName&#39;)\">Last名称和LT; / A&GT;&LT; /第i个百分位范围=山口&GT;&LT;一href=\"javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustCity&#39;)\">City</a></th><th范围=山口&GT;电子邮件和LT; /第i
    &所述; / TR&GT;&下; TR&GT;
        &所述; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblCustID_0&GT 12所述; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblFirstName_0&GT;安德斯&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblLastName_0&GT; Rohansen&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
         &LT;跨度ID =MainContent_GridView1_lblCity_0&GT;塔科马帕克&LT; / SPAN&GT;
       &LT; / TD&GT;&LT; TD&GT;
         &LT;输入名称=$ ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl02 txtEmail类型=文本VALUE =a.rohansen@t​​estemail.comID =MainContent_GridView1_txtEmail_0/&GT;
          &LT;跨度数据-VAL-的ControlToValidate =MainContent_GridView1_txtEmail_0数据-VAL-的ErrorMessage =必须输入电子邮件地址数据-VAL-的ValidationGroup =grpEmailID =MainContent_GridView1_ctl00_0数据-VAL =真正的数据VAL-evaluationfunction =RequiredFieldValidatorEvaluateIsValid数据-VAL-初值=的风格=能见度:隐藏;&GT;必须输入电子邮件地址和LT; / SPAN&GT;
           &LT;输入类型=提交名称=ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl02 $ btnUpdateVALUE =更新电子邮件的onclick =返回ValidateEmail(本); WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(安培; QUOT; ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl02 $ btnUpdate和放大器; QUOT;,&安培; QUOT;&安培; QUOT ;,如此,和放大器; QUOT; grpEmail&安培; QUOT;,&安培; QUOT;&安培; QUOT ;,假的,假的))ID =MainContent_GridView1_btnUpdate_0按钮类型= 按钮/&GT;         &LT; / TD&GT;
    &LT; / TR&GT;&LT; TR风格=背景色:#EEEEEE;&GT;
        &所述; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblCustID_1→8&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &LT;跨度ID =MainContent_GridView1_lblFirstName_1&GT;&德博拉LT; / SPAN&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &LT;跨度ID =MainContent_GridView1_lblLastName_1&GT;达米安&LT; / SPAN&GT;
        &LT; / TD&GT;&LT; TD&GT;
         &所述;跨度的id =MainContent_GridView1_lblCity_1&GT;弗雷斯诺&下; /跨度&GT;
       &LT; / TD&GT;&LT; TD&GT;
         &LT;输入名称=$ ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl03 txtEmail类型=文本VALUE =d.damien@testemail.comID =MainContent_GridView1_txtEmail_1/&GT;
          &LT;跨度数据-VAL-的ControlToValidate =MainContent_GridView1_txtEmail_1数据-VAL-的ErrorMessage =必须输入电子邮件地址数据-VAL-的ValidationGroup =grpEmailID =MainContent_GridView1_ctl00_1数据-VAL =真正的数据VAL-evaluationfunction =RequiredFieldValidatorEvaluateIsValid数据-VAL-初值=的风格=能见度:隐藏;&GT;必须输入电子邮件地址和LT; / SPAN&GT;
           &LT;输入类型=提交名称=ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl03 $ btnUpdateVALUE =更新电子邮件的onclick =返回ValidateEmail(本); WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(安培; QUOT; ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl03 $ btnUpdate和放大器; QUOT;,&安培; QUOT;&安培; QUOT ;,如此,和放大器; QUOT; grpEmail&安培; QUOT;,&安培; QUOT;&安培; QUOT ;,假的,假的))ID =MainContent_GridView1_btnUpdate_1按钮类型= 按钮/&GT;         &LT; / TD&GT;
    &所述; / TR&GT;&下; TR&GT;
        &所述; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblCustID_2大于7&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblFirstName_2&GT;德里克&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
          &所述;跨度的id =MainContent_GridView1_lblLastName_2&GT; Chaddick&下; /跨度&GT;
        &LT; / TD&GT;&LT; TD&GT;
         &所述;跨度的id =MainContent_GridView1_lblCity_2&GT;费尔菲尔德&下; /跨度&GT;
       &LT; / TD&GT;&LT; TD&GT;
         &LT;输入名称=$ ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl04 txtEmail类型=文本VALUE =d.chaddick@testemail.comID =MainContent_GridView1_txtEmail_2/&GT;
          &LT;跨度数据-VAL-的ControlToValidate =MainContent_GridView1_txtEmail_2数据-VAL-的ErrorMessage =必须输入电子邮件地址数据-VAL-的ValidationGroup =grpEmailID =MainContent_GridView1_ctl00_2数据-VAL =真正的数据VAL-evaluationfunction =RequiredFieldValidatorEvaluateIsValid数据-VAL-初值=的风格=能见度:隐藏;&GT;必须输入电子邮件地址和LT; / SPAN&GT;
           &LT;输入类型=提交名称=ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl04 $ btnUpdateVALUE =更新电子邮件的onclick =返回ValidateEmail(本); WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(安培; QUOT; ctl00 $日程地址搜索Maincontent $ GridView1 $ ctl04 $ btnUpdate和放大器; QUOT;,&安培; QUOT;&安培; QUOT ;,如此,和放大器; QUOT; grpEmail&安培; QUOT;,&安培; QUOT;&安培; QUOT ;,假的,假的))ID =MainContent_GridView1_btnUpdate_2按钮类型= 按钮/&GT;         &LT; / TD&GT;
    &LT; / TR&GT;
&LT; /表&gt;
 &LT; / DIV&GT;

我如何获得电子邮件文本框中输入ID?

感谢您


解决方案

 函数ValidateEmail(btnObj){
      警报(btnObj.id);
      VAR电子邮件= $(btnObj).siblings。(输入:文本)ATTR('身份证');
      警报(电子邮件);
      返回false;
  }

这将使用JavaScript解决方案返回文本输入的ID。

例如使用一些您的code的。

My GridView has a ContentTemplate containing ItemTemplate. ItemTemplate has textbox and button.

Here is a fragment of the code:

     <asp:TemplateField HeaderText="Email">  
      <ItemTemplate>
         <asp:TextBox runat="server" ID="txtEmail" Text='<%#Eval("CustEmail") %>' />
              <asp:Button id="btnUpdate" Text="Update Email" ButtonType="Button" CommandName="UpdateEmail" 
               Visible="true" runat="server"
               OnClientClick="return ValidateEmail(this)" />

         </ItemTemplate>
     </asp:TemplateField>

What I'm doing is calling ValidateEmail() method to validate my email field. For this I need to get email field value to validate it.

This is my ValidateEmail() method:

        function ValidateEmail(btnObj)
        {

        alert(btnObj.id);
        var email = $(btnObj).closest('input').attr('id');
        alert(email)
        return false;
    }

I'm able to get id for my button which is MainContent_GridView1_btnUpdate_0

This is my rendered html for the GridView:

<div>
<table cellspacing="0" id="MainContent_GridView1" style="border-collapse:collapse;">
    <tr>
        <th scope="col"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustID&#39;)">Customer ID</a></th><th scope="col"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustFirstName&#39;)">First Name</a></th><th scope="col"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustLastName&#39;)">Last Name</a></th><th scope="col"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Sort$CustCity&#39;)">City</a></th><th scope="col">Email</th>
    </tr><tr>
        <td>
          <span id="MainContent_GridView1_lblCustID_0">12</span>
        </td><td>
          <span id="MainContent_GridView1_lblFirstName_0">Anders</span>
        </td><td>
          <span id="MainContent_GridView1_lblLastName_0">Rohansen</span>
        </td><td>
         <span id="MainContent_GridView1_lblCity_0">Takoma Park</span>
       </td><td>
         <input name="ctl00$MainContent$GridView1$ctl02$txtEmail" type="text" value="a.rohansen@testemail.com" id="MainContent_GridView1_txtEmail_0" />
          <span data-val-controltovalidate="MainContent_GridView1_txtEmail_0" data-val-errormessage="Must enter Email Address" data-val-validationGroup="grpEmail" id="MainContent_GridView1_ctl00_0" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="visibility:hidden;">Must enter Email Address</span>
           <input type="submit" name="ctl00$MainContent$GridView1$ctl02$btnUpdate" value="Update Email" onclick="return ValidateEmail(this);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$MainContent$GridView1$ctl02$btnUpdate&quot;, &quot;&quot;, true, &quot;grpEmail&quot;, &quot;&quot;, false, false))" id="MainContent_GridView1_btnUpdate_0" ButtonType="Button" />

         </td>
    </tr><tr style="background-color:#EEEEEE;">
        <td>
          <span id="MainContent_GridView1_lblCustID_1">8</span>
        </td><td>
          <span id="MainContent_GridView1_lblFirstName_1">Deborah</span>
        </td><td>
          <span id="MainContent_GridView1_lblLastName_1">Damien</span>
        </td><td>
         <span id="MainContent_GridView1_lblCity_1">Fresno</span>
       </td><td>
         <input name="ctl00$MainContent$GridView1$ctl03$txtEmail" type="text" value="d.damien@testemail.com" id="MainContent_GridView1_txtEmail_1" />
          <span data-val-controltovalidate="MainContent_GridView1_txtEmail_1" data-val-errormessage="Must enter Email Address" data-val-validationGroup="grpEmail" id="MainContent_GridView1_ctl00_1" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="visibility:hidden;">Must enter Email Address</span>
           <input type="submit" name="ctl00$MainContent$GridView1$ctl03$btnUpdate" value="Update Email" onclick="return ValidateEmail(this);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$MainContent$GridView1$ctl03$btnUpdate&quot;, &quot;&quot;, true, &quot;grpEmail&quot;, &quot;&quot;, false, false))" id="MainContent_GridView1_btnUpdate_1" ButtonType="Button" />

         </td>
    </tr><tr>
        <td>
          <span id="MainContent_GridView1_lblCustID_2">7</span>
        </td><td>
          <span id="MainContent_GridView1_lblFirstName_2">Derek</span>
        </td><td>
          <span id="MainContent_GridView1_lblLastName_2">Chaddick</span>
        </td><td>
         <span id="MainContent_GridView1_lblCity_2">Fairfield</span>
       </td><td>
         <input name="ctl00$MainContent$GridView1$ctl04$txtEmail" type="text" value="d.chaddick@testemail.com" id="MainContent_GridView1_txtEmail_2" />
          <span data-val-controltovalidate="MainContent_GridView1_txtEmail_2" data-val-errormessage="Must enter Email Address" data-val-validationGroup="grpEmail" id="MainContent_GridView1_ctl00_2" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="visibility:hidden;">Must enter Email Address</span>
           <input type="submit" name="ctl00$MainContent$GridView1$ctl04$btnUpdate" value="Update Email" onclick="return ValidateEmail(this);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$MainContent$GridView1$ctl04$btnUpdate&quot;, &quot;&quot;, true, &quot;grpEmail&quot;, &quot;&quot;, false, false))" id="MainContent_GridView1_btnUpdate_2" ButtonType="Button" />

         </td>
    </tr>
</table>
 </div>

How can I get the id for email text box?

Thank you

解决方案

  function ValidateEmail(btnObj) {            
      alert(btnObj.id);
      var email = $(btnObj).siblings('input:text').attr('id');
      alert(email);
      return false;
  }

This will return the id of the text input using your JavaScript solution.

Working example using some of your code.

这篇关于如何获得GridView控件内文本框的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆