2012-04-05 74 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; 
相關問題