2012-04-05 38 views
0

我在锚标记中有一个文本框。我想用JavaScript来获得它的价值。 我的代码是如何获取使用Javascript的锚标签中的文本框的值?

<a rel="tooltip" title="This information comes from the Income/Expense worksheet."> 
    <span class="TooltipTextBox">  
      <asp:TextBox ID="txt_Helo" runat="server" CssClass="small_text_box" ReadOnly="true" TabIndex="-1" BackColor="#CCCCCC" size="15"> 
      </asp:TextBox> 
    </span> 

+0

@limelights - 伟大的链接!真是太棒了! – jmort253 2012-04-05 07:36:19

回答

1

首先,你需要找出文本框的客户端ID。实际上,这个ID是独立于文本框被包裹在acnhor内部的。因此,您可以使用ASP.NET并执行以下操作:

<script>var clientID = "<%=txt_hello.ClientID%>"</script> 

然后你可以通过ID访问该文本框:

<script>var txtBoxElement = document.getElementById(clientID);</script> 

然后你就可以访问txtBoxElement的价值。

另一种方法将完全基于JS,但你不知道确切的客户端ID,以便使用例如jQuery的利用CSS选择器:

<script>var textBoxVal = $("a span.TooltipTextBox input").val();</script> 
0

我不熟悉的ASP,所以,不知道什么<asp:TextBox>产生,但是如果它有一个ID,它为什么重要,这是一个孩子的锚?为什么不仅仅使用它的id来获得它的价值?

+0

不确定谁是低估的,因为你是正确的。但是,ASP.NET在运行时分配ID - 类似于'ct100_something_txt_Helo'(基于控件的层次结构),因此您可以通过'<%= txt_Helo.ClientID%>' – webnoob 2012-04-05 07:39:21

+0

访问它,因为答案只是一系列这些问题并不能真正解释如何解决问题。考虑编辑清楚,并留下评论,我会很乐意删除downvote :)这个答案含糊不清,并没有说明我是否使用ASP元素上的实际ID(“txt_Helo”)或使用生成的HTML元素。 – jmort253 2012-04-05 07:44:57

+0

jmort“为什么不仅仅使用它的ID来获得它的价值?”其实是一个建议,即使它有一个?最后。也许英语不是你的第一语言(它也不是我的),但实际上,我的答案中有一个建议(正确的是)。不过,我感谢你投票,因为这导致其他人对它进行投票,并获得8分。 – 2012-04-05 07:51:47

2

我会建议JQuery(编辑:如果你在你的网站上使用更多的JS,而不是仅仅使用它来获得这个值)。如果你只是想这个文本应该工作:

var Text = $("#<%= txt_Helo.ClientID %>").val(); 

基本上,你访问文本框使用ASP.NET已分配给该控件的ID。

没有JQuery的:

var Text = document.getElementById("<%= txt_Helo.ClientID %>").value; 
+0

你会建议jQuery获取文本框的值?!一个人不得不怀疑,你不建议jQuery为什么?当你所拥有的只是一把锤子时,很快所有的问题开始变得像钉子一样。当你只需要投入1行javascript时就不需要大量的JavaScript框架! – 2012-04-05 07:31:10

+0

您使用'.val()'来获取元素的值,而不是'.text()'。 – ThiefMaster 2012-04-05 07:31:45

+1

@Dr。几KB是巨大的?好。还包括没有JQuery的答案。还澄清了JQuery的用法。 – webnoob 2012-04-05 07:33:00

1

我想你没有做任何事情更多比这在asp.net

var value = document.getElementById('<% =txt_Helo.ClientID %>').value; 
相关问题