注册 登录
编程论坛 ASP.NET技术论坛

在asp.net后台事件中为什么获取不到值

chinaly 发布于 2007-09-18 10:44, 4758 次点击
请各位看一下!为什么我获取的值是空的呢?郁闷啦!!
 可是用javascript可以获取到值!!真搞不懂为什么.......

<td width="20%" align=right>请选择表情:</td>
<td>
<a href="#" title='呵呵' onclick='getImg("face1");'><input type="radio" value="1" name="face" checked><img border="0" src="images/face/face1.gif"></a>
<a href="#" title='微笑' onclick='getImg("face2");'><input type="radio" value="2" name="face"><img border="0" src="images/face/face2.gif"></a>
<a href="#" title='可爱' onclick='getImg("face1");'><input type="radio" value="3" name="face"><img border=0 src="images/face/face3.gif"></a>
<a href="#" title='生气' onclick='getImg("face1");'><input type="radio" value="4" name="face"><img border=0 src="images/face/face4.gif"></a>
<a href="#" title='哭' onclick='getImg("face1");'><input type="radio" value="5" name="face"><img border=0 src="images/face/face5.gif"></a>
<a href="#" title='郁闷' onclick='getImg("face1");'><input type="radio" value="6" name="face"><img border=0 src="images/face/face6.gif"></a>
</td>
<textarea id="text" runat="server" visible="false" cols="1" rows="1"></textarea>

<script language="javascript" type="text/javascript">
function getImg(str1)
{
text=str1;
alert(text); //这样可以获取到我想要的值,也就是图片名称
}
</script>

最郁闷的是在后台
protected void Button_Changed(object seand, EventArgs e)
{
Response.Write("<script language='javascript'>alert('"+this.text.Value+"')</script>"); //text的值弹出来是空的,为什么呢?
}

请各位大哥在姐指点一下,我为什么获取的值是空的呢?
谢谢了哦!!!
17 回复
#2
bygg2007-09-18 10:51
<textarea id="text" runat="server" visible="false" cols="1" rows="1"></textarea>
它有值吗??
#3
chinaly2007-09-18 10:57
有值啊!!为什么没有值呢?

你选中哪个"radio"的时候就触发了
<a href="#" title='呵呵' onclick='getImg("face1");'><input type="radio" value="1" name="face" checked><img border="0" src="images/face/face1.gif"></a> 这个事件

<script language="javascript" type="text/javascript">
function getImg(str1)
{
text=str1;//这个地方不是付值了吗?
alert(text);
}
</script>
再看一下!!为什么获取不到值呢??谢谢!!!
#4
chinaly2007-09-18 11:20

请各位高手给我答案啊!!
我为什么获取不到值呢?急啊!!!!

#5
bygg2007-09-18 12:27
<textarea id="text" runat="server" visible="false" cols="1" rows="1"></textarea>
改为
<input id="text" type="hidden" runat="server" />
试试可以取到值不?
#6
chinaly2007-09-18 21:02
以下是引用bygg在2007-9-18 12:27:45的发言:
<textarea id="text" runat="server" visible="false" cols="1" rows="1"></textarea>
改为
<input id="text" type="hidden" runat="server" />
试试可以取到值不?

也是取不到值,我以经试过了
我连Web控件都试过了,也是取不到值
<asp:TextBox id="text" runat="server" visible="false"/>
不知道为什么!!汗啦

#7
冰彩虹2007-09-18 22:10

都是visible="false"惹的祸

你直接用Hidden看看

#8
chinaly2007-09-20 11:47
這樣也不行
#9
bygg2007-09-20 12:38
呵呵,将所有的onclick='getImg("face1");' 改成 onclick="getImg('face1');"
#10
chinaly2007-09-20 13:13
以下是引用bygg在2007-9-20 12:38:32的发言:
呵呵,将所有的onclick='getImg("face1");' 改成 onclick="getImg('face1');"



getImg("face1") 这样也可以,用javascript可以获取值,
后台的值就是获取不到.......我也不知道为什么???

<script language="javascript" type="text/javascript">
function getImg(str1)
{
text=str1; //text是一个asp.net文本框
alert(text); 当我选择一个按钮时可以弹出值,要知道,我弹出的值是text
}
</script>

可是我到后台为什么就是获取不到text的值呢???为什么?为什么?
请各位大哥大姐想想怎么做

#11
infan2007-09-20 22:29

在你点击是你的值已经失去了,你用一下viewstate["text"]=text.text.tostring();保存你的值,在调用这个viewstate。自己试试吧。

#12
chinaly2007-09-23 12:09
viewstate["text"]=text.text.tostring();
这个方法我以经试过了!也是空值!!
#13
请教code2008-09-23 08:42
ddd
正为此事郁闷呢
#14
请教code2008-09-23 09:01
把width 和 boderwidth 都设为0了 。。。。。。。
#15
1916381412008-09-23 09:57
<script language="javascript" type="text/javascript">
function getImg(str1)
{
text=str1;
alert(text);
}
</script>

这段代码text是什么?定义的?你不要告诉我是你textarea的ID?
如果是那么为什么不这样写
document.getElementById("text").innerHtml=str1;
#16
zklwzh2008-09-23 10:20
把visible="false"去掉,加上style="display:none"试试。
#17
球球2008-09-23 13:19
Response.Write("<script language='javascript'>alert('"+this.text.Value+"')</script>"); //text的值弹出来是空的,为什么呢?

这句中的alert('"+this.text.Value+"')后面少了分号!!
#18
球球2008-09-23 13:38
还有js里赋值错误:
document.getElementById("text").value = str1;
1