需要JavaScript语法修正
我是JavaScript的新手,我编写了下面的小JavaScript来制作回发函数,但它不工作。我需要任何人来纠正它。需要JavaScript语法修正
C#代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox4.Text = "nopost";
}
else
{
TextBox4.Text = "post";
}
}
的JavaScript:
<script type="text/javascript">
function a1(){
var hid = document.getElementById('TextBox4').Value;
if (hid == "post") {
alert('Posted');
}
else if (hid == "nopost") {
alert('Not Posted');
}
}
window.onload == function() {
a1();
}
</script>
ASP代码
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
尝试使用ClientID财产和改变.Value
到.value
:
var hid = document.getElementById('<%= TextBox4.ClientID %>').value;
不应该有问题..他已经明确设置了id
如果TextBox4位于实现[INamingContainer]( http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx),ClientID将是Parent2_Parent1_TextBox4。 – jrummell 2012-01-17 17:18:04
@ Baz1nga它确实很重要,因为ASP.NET生成的ID类似ctl00_ContentPlaceHolder1_TextBox4 – 2012-01-17 17:19:14
对于onload
处理程序分配,您正在使用==
而不是=
。
这...
window.onload == function() {
a1();
}
应该是这样的......
window.onload = function() {
a1();
};
或者干脆这个...
window.onload = a1;
问题可能与你是如何定义onload功能将其更改为:
window.onload = a1;
P.S:在Javascript中使用===
运算符进行类型安全比较。
我不确定这是错误,但使用小v值document.getElementById('TextBox4')。value; – Shadow 2012-01-17 17:09:08
什么不起作用? – jrummell 2012-01-17 17:09:35
“不工作”是什么意思? Javascript是否被正确地发送到浏览器?你的浏览器的JavaScript控制台中是否有错误? – millimoose 2012-01-17 17:10:06