我正在尝试在JScript函数中的按钮上设置文本。我正在使用像这样的JScript函数......
function myfunction(sender, eventArgs)
{
wanted_text = window.source_text_field.get_displayText();
if (document.getElementById("my_span_element") != null)
{
document.getElementById("my_span_element").innerText = wanted_text;
}
if (document.getElementById("my_button") != null)
{
document.getElementById("my_button").text = wanted_text;
}
}
有关控件的定义如下......
<span id="my_span_element" class="some_class"></span>
<asp:Button id="my_button"
runat="server"
class="some_other_class"
text=""
Width="48"
Height="25"
onclick="do_foo"/>
span元素中的文本设置正确但按钮不受影响。我还尝试了innerText
,Value
,Text
,并尝试使用this question的答案,但无济于事。
任何人都可以看到我忽略了什么吗?
答案 0 :(得分:5)
更改按钮的.value
属性:
document.getElementById("my_button").value = "new value";
答案 1 :(得分:3)
ASP.Net为服务器控件生成自己的ID。
您需要编写<%= my_button.ClientID %>
来获取此生成的ID。
答案 2 :(得分:2)
这里有两个问题:
首先:你使用错误的属性 - 应该是“值”,而不是“文本”
第二:document.getElementById("my_button")
无效,因为ASP.NET会将自己的ID分配给控件。如果你看一下生成的标记,你会发现元素的id完全不同。
如果您的javascript位于与<asp:button />
控件相同的.aspx页面内,您可以这样做:
document.getElementById("<%= my_button.ClientID %>").value = "some text";