关于asp.net中传值给javascript的问题
请问各位大侠这个javascript语句有错误吗?val=parseInt(document.getElementById("<%=HiddenField隐藏域.Clie...
请问各位大侠这个javascript语句有错误吗?
val =parseInt(document.getElementById("<%=HiddenField隐藏域.ClientID %>").value);
为什么我用这个语句运行时网页会运行有问题,左下角有黄色叹号,且这句后面的javascript函数也不执行;
如果我把这句换成val =10; 就能完全正常运行了,请问我该怎么把一个asp.net控件的值传到javascript中?
当我使用document.write(document.getElementById("<%= HiddenField隐藏域 %>"));时
输出null,使用document.write(("<%= HiddenField隐藏域.ClientID %>"));输出“HiddenField隐藏域”这是为什么?
PS我实际是想从数据库中读一个值赋给javascript中的变量,如果能给我一个其他方法实现需求就行,请说清楚用到的控件和语句,可以举例 展开
val =parseInt(document.getElementById("<%=HiddenField隐藏域.ClientID %>").value);
为什么我用这个语句运行时网页会运行有问题,左下角有黄色叹号,且这句后面的javascript函数也不执行;
如果我把这句换成val =10; 就能完全正常运行了,请问我该怎么把一个asp.net控件的值传到javascript中?
当我使用document.write(document.getElementById("<%= HiddenField隐藏域 %>"));时
输出null,使用document.write(("<%= HiddenField隐藏域.ClientID %>"));输出“HiddenField隐藏域”这是为什么?
PS我实际是想从数据库中读一个值赋给javascript中的变量,如果能给我一个其他方法实现需求就行,请说清楚用到的控件和语句,可以举例 展开
13个回答
展开全部
你的这段代码应该没有问题,关键是要把这段javascript代码写在网页的最后,也就是要保证在HiddenField隐藏域生成完成后,再执行javascript;
如果你一定要将javascript写在网页前面的话,要写成:
<script language="javascript" type="text/javascript">
window.onload = function() {
val =parseInt(document.getElementById("<%=HiddenField隐藏域.ClientID %>").value);
//......
}
</script>
如果你一定要将javascript写在网页前面的话,要写成:
<script language="javascript" type="text/javascript">
window.onload = function() {
val =parseInt(document.getElementById("<%=HiddenField隐藏域.ClientID %>").value);
//......
}
</script>
更多追问追答
追问
1.是不是说function内代码只有在调用该function是才执行?那如果js部分全是function,那么js部分代码就都不执行了?
2.可以指定一个function自动执行吗,就像c语言里面的main()函数?
3.window.onload 后面一定要接function吗?直接写几句代码行吗?如果接的是functionA,其他function还怎么调用A呢?
PS.本人小白
追答
window.onload = function() {}意思是在页面加载完成后自动执行花括号内的内容,其它的function是可以写在花括号外的,然后在花括号内调用。
类似如下的形式:
window.onload = function() {
a();
b();
}
function a(){
//...
}
function b(){
//...
}
展开全部
你是想得到隐藏域里面的值吗?如果是的话,就必须用隐藏域控件的ID属性。而不是ClientID属性,val =parseInt(document.getElementById("隐藏域控件的ID")value);
var =<%=HiddenField隐藏域.ClientID %>").value;
clientId是服务自动生成的,代表了一个控件
下面代码是当点击lable是会把textbox的qq换成ff,一般clientid是这样用的,是一个动态赋值的作用
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
var m = "<%=TextBox1.ClientID %>";
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<label id="lbl" onclick="javascript:eval(m).value='ff';">222</label>
<asp:TextBox ID="TextBox1" runat="server" Text="qq">
</asp:TextBox>
</div>
</form>
</body>
var =<%=HiddenField隐藏域.ClientID %>").value;
clientId是服务自动生成的,代表了一个控件
下面代码是当点击lable是会把textbox的qq换成ff,一般clientid是这样用的,是一个动态赋值的作用
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
var m = "<%=TextBox1.ClientID %>";
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<label id="lbl" onclick="javascript:eval(m).value='ff';">222</label>
<asp:TextBox ID="TextBox1" runat="server" Text="qq">
</asp:TextBox>
</div>
</form>
</body>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.输出为null说明没找到这个Hidden
2.至于为什么没找到,可以看最终生成的HTML中是否有这个Hidden、JS中的ClientID输出是否正确。
2.至于为什么没找到,可以看最终生成的HTML中是否有这个Hidden、JS中的ClientID输出是否正确。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var hf_name = <%= HiddenField隐藏域.ClientID %>;
val =document.getElementById(hf_name ).value;
或
val =document.getElementById[hf_name ].value;
上边一个是圆括号,一个是方括号,有时就得用方括号。
其实tz6060996的回答是很正确的,包括自动生成控件也没问题,
ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", "<script>方法名(值)</script>");
这个是放在CS文件中的,上边的“myscript”在cs文件中,不能重名。
你试下!!
val =document.getElementById(hf_name ).value;
或
val =document.getElementById[hf_name ].value;
上边一个是圆括号,一个是方括号,有时就得用方括号。
其实tz6060996的回答是很正确的,包括自动生成控件也没问题,
ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", "<script>方法名(值)</script>");
这个是放在CS文件中的,上边的“myscript”在cs文件中,不能重名。
你试下!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的JS没有问题:
问题出在HiddenField隐藏域.ClientID上
你直接输出HiddenField隐藏域.ClientID,看看是什么
问题出在HiddenField隐藏域.ClientID上
你直接输出HiddenField隐藏域.ClientID,看看是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是吧,你怎么可以这样写呢??你可以写一个方法啊
再引用下那个方法,如:你写的方法为function test(val){}
引用:onclick="javascript:test('值')"
这样就可以啦
再引用下那个方法,如:你写的方法为function test(val){}
引用:onclick="javascript:test('值')"
这样就可以啦
更多追问追答
追问
我是小白,麻烦您说的详细一点好吗,最后能举个例子
追答
你会不会用Jquery?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询