2012-11-07 15 views
1

我有一個asp.net文本框(ID =「HTMLTextBox_Comments」)與HTMLEditorExtender:的Javascript設定值

<asp:TextBox ID="HTMLTextBox_Comments" runat="server" Height="200px" Rows="5" 
     TextMode="MultiLine" Width="469px"></asp:TextBox> 
<ajaxToolkit:HtmlEditorExtender ID="HTMLTextBox_Comments_HtmlEditorExtender" 
     runat="server" Enabled="True" TargetControlID="HTMLTextBox_Comments"> 
</ajaxToolkit:HtmlEditorExtender> 

我設置使用JavaScript的文本框的值像這樣:

var MyControl = document.getElementById("MainContent_HTMLTextBox_Comments"); //this gets the control just fine 
MyControl.value = "Here's some text"; 

如果我有警報顯示我的值,然後顯示「這是一些文本」,但文本不是在文本框本身顯示。

我也嘗試過設置MyControl.innerHTMLMyControl.text,但這兩者似乎都不起作用。

如何在文本框中顯示文本框的值?

在此先感謝!

編輯 我發現this post這似乎表明.value的是什麼,我應該使用設置該文本框的文本,但它只是沒有顯示出來。我錯過了什麼?

+1

也許看看呈現的html會給你一些線索。 – Musa

+1

該控件的呈現HTML爲: ' ' – nickvans

回答

0

WebForms爲您的服務器端元素添加一個瘋狂的ID。嘗試document.querySelector()

http://jsfiddle.net/ZhGX7/

<input type="text" id="abc_123_MyDiv" value="firstValue" /> 

<script> 

var input = document.querySelector("input[id*=MyDiv]"); 

input.value="Updated Value" 
</script> 
+0

大尖端會來救我不得不看內置頁面的源代碼找出全名,但是我沒有麻煩得到控制手柄,我的問題是控制不顯示我設置到控制的值。 – nickvans

0

我找到了解決辦法here

訣竅是在HTMLEditorExtender內設置ExtenderContentEditable div的innerHTML,而不是直接設置文本框的值。值得注意的是,設置innerHTML也會設置該值,因此您可以讀取TextBox.value並獲取您輸入的內容。

感謝您的幫助。