首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Page.RegisterStartupScript有关问题

2012-01-11 
求助:Page.RegisterStartupScript问题主要是js的放置问题,js放在head中无错但放在button后面出错,说无对象

求助:Page.RegisterStartupScript问题
主要是js的放置问题,js放在head中无错
但放在button后面出错,说无对象


Page.RegisterStartupScript后的js出现在button等控件下面,就出错了,我怀疑是js的位置问题,求能正常运行的解决方法


//////////////////
如下,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>无标题页</title>
  //放在这里则无问题
   
   
  </head>
<body>
  <form id="form1" runat="server">
  <div>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <br />
  <input id="Button1" type="button" value="button" onclick="getText()"/>
  <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
  <asp:Label ID="lblMsg" runat="server"></asp:Label></div>
  <script language="javascript" type="text/javascript">
  function getText()
  {
  if(document.all("TextBox1").value == "")
  {
  alert("某不能为空!");
  return false;
  }
  else
  {
  var dMsg = document.all("TextBox1").value;
  alert(dMsg);
  return true;
   
  }
  return true;
  //var dMsg = document.form1.getElementsById("TextBox1").valule;
  //alert(dMsg);
  }
</script>
  </form>
</body>
</html>

[解决办法]
不用:Page.RegisterStartupScript
用:Response.write()

试试
[解决办法]
<asp:Button ..></asp:Button>标记都没有闭合,<asp:Button ..></asp:Button>和
<input id="Button1" type="button" value="button" onclick="getText()"> 这两种
button是有区别的,除了写法不一样,对客户端脚本的处理也有所不同。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<HTML>
<HEAD id="Head1">
<title>无标题页 </title>
</HEAD>
<BODY>
//放在这里则无问题
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br>
<input id="Button1" type="button" value="button" onclick="getText()">
<asp:Button ID="Button2" runat="server" Text="Button"></asp:Button>
<asp:Label ID="lblMsg" runat="server"></asp:Label>
</div>
<script language="javascript" type="text/javascript"> 
function getText() 

if(document.all("TextBox1").value == "") 

alert("某不能为空!"); 
return false; 

else 

var dMsg = document.all("TextBox1").value; 
alert(dMsg); 
return true; 


return true; 
//var dMsg = document.form1.getElementsById("TextBox1").valule; 


//alert(dMsg); 

</script>
</form>
</BODY>
</HTML>

[解决办法]
和Page.RegisterStartupScript没啥关系,事实上Page.RegisterStartupScript方法的显示效果优于Response.Write,使用Response.Write会造成背景一片空白,显得比较傻。因为浏览器还来不及解析页面上的元素。

热点排行