2013-02-22 84 views
1

在我的asp页面中,我有三个文本和2个标签框。在文本框onblur事件我通过传递文本clientid调用了一个javascript函数。但是我不能从我通过的id获取文本框或标签框值。如何在javascript和asp.net中获取客户端id值?

这是我的代码...

<script type="text/javascript"> 

    function num_validate(cid,cid1) { 

     var patt = /^\d*(\.\d{1,2})?$/; 
     if (cid1 == "t1") { 
      var value=this.document.getElementById(cid).value; //failed 
      this.document.getElementById(cid).focus(); //failed 
      var ff = document.getElementById('<%= l1.ClientID %>').value);//failed 
     } 
} 

</script> 


<asp:TextBox ID="t1" runat="server" onblur="javascript:num_validate(this,'t1')"> </asp:TextBox>&nbsp;<asp:Label ID="l1" runat="server" Text="3"></asp:Label> 

<asp:TextBox ID="t2" runat="server" onblur="javascript:num_validate(this,'t2')"></asp:TextBox>&nbsp; 
     <asp:Label ID="l2" runat="server" Text="5"></asp:Label> 

    <asp:TextBox ID="t3" runat="server" onblur="javascript:num_validate(this,'t3')"></asp:TextBox> 

我能不能文本框,标签盒通过使用CID,CID1 ......值

请指引我走出这个问题?

+0

因此,基本上你使用控件的ID来获得值,通过传递id来通过函数。正确吗? – HShbib 2013-02-22 09:56:01

+0

是的你是正确的 – Saravanan 2013-02-22 09:57:49

回答

2

这是错误的

var value=this.document.getElementById(cid).value; //failed 
this.document.getElementById(cid).focus(); //failed 

改用

var value=cid.value; 
cid.focus(); 
+0

i100你是对的当你使用“这个”为什么传递第二个参数呢? – 2013-02-22 09:46:22

+0

好吧我打电话了,没有第二个参数也...这不是问题 – Saravanan 2013-02-22 09:47:56

+0

@ i100,无法使用var l1 = document.getElementById('<%= l1.ClientID%>')获取标签框值。值;这里有什么问题... – Saravanan 2013-02-22 10:15:17

0

下面的代码是什么,我尝试和努力:

<script type="text/javascript"> 

     function num_validate(element) 
     { 
      var Cid = element.getAttribute('id'); 
      var value; 
      if(Cid = 't1') 
      { 
       value = element.value; 
       alert(value); 
      } 

      else if(Cid = 't3') 
      { 
       value = element.value; 
       alert(value); 
      } 
     } 

</script> 


    </head> 

<body> 

    <form id="form1" runat="server"> 
    <div> 

    <asp:TextBox ID="t1" runat="server" onblur="num_validate(this, t1);"> 
    </asp:TextBox>&nbsp; 

    <asp:TextBox ID="t3" runat="server" onblur="num_validate(this,t3);"></asp:TextBox> 

    </div> 
    </form> 
</body> 
</html> 

如果没有工作,你可以有一个看看类似的情况@How do I pass a server control's actual client Id to a javascript function?。希望有所帮助。

相关问题