急救:一个很有趣的confirm问题。。。。。

semi82 2005-12-15 06:06:04
目标:后台实现 当输入值为123时 点击按钮,出现一个confirm对话框,当用户点击取消时弹出一个对话框来显示文本框的值.
见鬼:当点击confirm的取消后javascript出现错误。“对象为空“,,,,注意我把alert中写上字符串后,可正常弹出。
分析:问题应该出在 document.getElementById('TextBox1').value 一句,可怜小弟学艺不精,还请各位江湖兄弟鼎立相助,他日发达定不忘滴水之恩。


还是看主要代码吧:
前台---〉webform1.asp:
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>

后台---〉webform1.cs:
private void Button1_Click(object sender, System.EventArgs e)
{
if(this.TextBox1.Text=="123")
{
Response.Write("<script language=javascript>if(confirm('qqqqqekdisffsfs')==false) { alert(document.getElementById('TextBox1').value);}</script>");
}
...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
semi82 2005-12-15
  • 打赏
  • 举报
回复
谢谢大家相助,问题已被解决。
正如 xiaohuasz() 所说, “Response.Write输出的脚本块在页面开头,对象TextBox1还没生成,所以出现对象为空用RegisterStartupScript”,
最后正确的代码给大家贴出来看一下:

this.RegisterStartupScript("confirm","<script language=javascript>if(confirm('qqqqqekdisffsfs')==false) { alert(document.getElementById('TextBox1').value);}</script>");
semi82 2005-12-15
  • 打赏
  • 举报
回复
首先谢过楼上。

我查看了,在客户端生成的id号也是这个东西:id="TextBox1"
以下是客户端的代码:
<input name="TextBox1" type="text" id="TextBox1" style="height:48px;width:248px;Z-INDEX: 101; LEFT: 320px; POSITION: absolute; TOP: 80px" />

还可能有什么别的问题吗?

xiaohuasz 2005-12-15
  • 打赏
  • 举报
回复
Response.Write输出的脚本块在页面开头,对象TextBox1还没生成,所以出现对象为空
用RegisterStartupScript
greennetboy 2005-12-15
  • 打赏
  • 举报
回复
问题应该出在 document.getElementById('TextBox1').value
TextBox1服务器控件,客户端怎么访问服务器控件?你查看源文件看看,相应得TextBox1变成啥玩艺了?然后在写这句
道理简单,就是Web Control在init的时候要进行序列化!
重点提示:查看运行网页得源文件!看看存在id="TextBox1"这样麽?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧