关于asp.net中传值给javascript的问题
发布网友
发布时间:2022-04-24 12:23
我来回答
共13个回答
热心网友
时间:2022-04-24 13:53
你的这段代码应该没有问题,关键是要把这段javascript代码写在网页的最后,也就是要保证在HiddenField隐藏域生成完成后,再执行javascript;
如果你一定要将javascript写在网页前面的话,要写成:
<script language="javascript" type="text/javascript">
window.onload = function() {
val =parseInt(document.getElementById("<%=HiddenField隐藏域.ClientID %>").value);
//......
}
</script>
热心网友
时间:2022-04-24 15:11
你是想得到隐藏域里面的值吗?如果是的话,就必须用隐藏域控件的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>
热心网友
时间:2022-04-24 16:45
1.输出为null说明没找到这个Hidden
2.至于为什么没找到,可以看最终生成的HTML中是否有这个Hidden、JS中的ClientID输出是否正确。
热心网友
时间:2022-04-24 18:37
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文件中,不能重名。
你试下!!
热心网友
时间:2022-04-24 20:45
你的JS没有问题:
问题出在HiddenField隐藏域.ClientID上
你直接输出HiddenField隐藏域.ClientID,看看是什么
热心网友
时间:2022-04-24 23:09
不是吧,你怎么可以这样写呢??你可以写一个方法啊
再引用下那个方法,如:你写的方法为function test(val){}
引用:onclick="javascript:test('值')"
这样就可以啦
热心网友
时间:2022-04-25 01:51
在这个页面的cs文件的类里添加一个属性,用程序赋予这属性你想赋的值就可以了~~
在aspx文件里就用你的方法做就可以了~~
热心网友
时间:2022-04-25 04:49
没错,是顺序问题,把这段script放最下面就好了,html也是逐行执行的
执行你那段脚本的时候,页面上还没有加载隐藏字段
所以报错追问我把这段script放到最后了,还是出现一样的问题啊?
热心网友
时间:2022-04-25 08:03
"form1" method="post" target="_blank">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>1、已开具的*存根联和*登记簿应当保存( )</td>
</tr>
<tr>
<td>
<input name="xuanxiang1" id="xuanxiang1" type="radio" value="1" onclick="form1.bianhao.value=this.value" />A.5年<br />
<input name="xuanxiang1" id="xuanxiang1" type="radio" value="2" onclick="form1.bianhao.value=this.value" />B.lO年<br />
<input name="xuanxiang1" id="xuanxiang1" type="radio" value="3" onclick="form1.bianhao.value=this.value" />C.15年<br />
<input name="xuanxiang1" id="xuanxiang1" type="radio" value="4" onclick="form1.bianhao.value=this.value" />D.永久
</td>
</tr>
<tr>
<td align="right"><input type="hidden" name="bianhao"><img onClick="javascript:daan(document.form1.bianhao.value)" src=img/chakan.gif ></td>
</tr>
</table>
</form>
热心网友
时间:2022-04-25 11:35
看 在浏览器中查看的时候 HiddenField隐藏域.ClientI 到底有没有被输出,
热心网友
时间:2022-04-25 15:23
我估计这个问题要害在:执行这个语句的时候,这个id的控件还没有加载到Dom中去呢,所以出错,找不到控件,用document.write出来之后,也是一样的道理,输出null
热心网友
时间:2022-04-25 19:27
document.getElementById(“HiddenField隐藏域的id”).value
就可以
热心网友
时间:2022-04-25 23:49
v不ihnbgiunhcgsn超过陈凡