javascript 语句不执行?请教各位大侠!
用ASP.NET开发的B/S项目,我在.aspx页面嵌套了C#语句
如下!
<%
string bb ="";
bb = Request.QueryString["id"];
if (bb=="haveuser")
{
Response.Write("<script language='javascript'>");
Response.Write("if (confirm('Are you sure to logon system?'))");
Response.Write("window.document.getElementById('Button1').click();");
Response.Write("</script>");
}
%>
但是执行结果是弹出了信息框,就是不执行下面的按钮事件,请教各位,
这样写有什么问题吗?
我现在就是根据另外一个页面的返回值,判断弹出的信息框,用户选择确定,我就
执行按钮的点击事件?
------解决方案--------------------getElementById('Button1')===============>
getElementById('<%=Button1.ClientID%>')
------解决方案--------------------<%
string bb ="";
bb = Request.QueryString["id"];
if (bb=="haveuser")
{
Response.Write(" <script language='javascript'>");
Response.Write("if (confirm('Are you sure to logon system?'))");
Response.Write("__doPostBack('Button1','')");
Response.Write(" </script>");
}
%>
------解决方案--------------------这是因为你用Response.Write
那么这断script就会出现在<html>上面就是页面的最顶部
document.getElementById('Button1')这是找不到对象的
不信你可以试试alert(document.getElementById('Button1'))
这个结果是null
你要用ScriptManager.RegisterStartupScript(btnSubmit, this.GetType(), "unReport", "window.close();", true);
形式注册脚本就可以了