我有一个带有HTMLEditorExtender的asp.net文本框(ID =“HTMLTextBox_Comments”):
<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";
如果我有一个警告显示该值,则显示“这是一些文本”,但该文本不会显示在TextBox本身中。
我也尝试过设置MyControl.innerHTML
和MyControl.text
,但这些似乎都不起作用。
如何在TextBox中显示TextBox的值?
提前致谢!
修改 我发现this post似乎表明.value是我应该用来设置这个TextBox的文本,但它只是没有出现。我错过了什么?
答案 0 :(得分:0)
WebForms为您的服务器端元素添加一个疯狂的ID。尝试document.querySelector()
<input type="text" id="abc_123_MyDiv" value="firstValue" />
<script>
var input = document.querySelector("input[id*=MyDiv]");
input.value="Updated Value"
</script>
答案 1 :(得分:0)
我找到了解决方案here。
诀窍是在 HTMLEditorExtender 中设置ExtenderContentEditable div的innerHTML,而不是直接尝试设置文本框值。值得注意的是,设置innerHTML也会设置值,因此您可以阅读TextBox.value并获取您输入的内容。
感谢您的帮助。