2012-12-12 49 views
3

我想创建一个html文件,在默认浏览器和登录时打开一个网页, 这个页面在公司内部网中,并且结构是.aspx。javascript打开某些网页和登录

该页面包含用户,pwd字段和完成登录过程的链接。 相关的源行是

<a id="lnkAccedi" href="javascript:__doPostBack('lnkAccedi','')" 
    style="background-color:Transparent;font-family:Arial;">Accedi...</a> 

和简单的代码,我已经测试是

<script language="JavaScript"> 
    window.open("intranet_web_page","_self"); 
</script> 

其中intranet_web_page是我的登录页面的URL。 我试着将网页源代码中定义的函数调用为“__doPostBack('lnkAccedi','');”在我的HTML文件的脚本标记中,但根本不起作用。

我该怎么做?

在此先感谢。

回答

1

其实我不是ASP用户,但我相信__doPostBack是一个用户定义的函数,您应该将其定义为脚本标记下的javascript函数。
还有一点,我不认为__doPostBack是需要一个参数的。

所以,如果你想创建将用户重定向后授权其不更改URL,你可以使用jQuery post方法来发表您的数据,然后检索下回调函数在服务器响应来检测该用户被授权或不
我会给你示例代码,但实际上我还没有测试它
在HTML:

<form name="loginform" action="test.asp" method​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​="POST"> 
username : <input type="text" name="username" placeholder="please put your username here." /><br> 
password : <input type="password" name="password" placeholder="your password here" /><br/> 
<a id="lnkAccedi" href="javascript:__doPostBack" style="background-color:Transparent;font-family:Arial;">Accedi...</a> 
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

在脚本:

function __doPostBack() { 
    var usernamestr = document.loginform.username.value; 
    var passwordstr = document.loginform.password.value; 
    $.post("authorize.asp", { username: usernamestr , password: passwordstr }, 
     function(data) { 
      if(data = "success") {  
       window.open('newwindow.asp','_self'); 
      } else { 
       alert("Username or password was wrong"); 
      } 
    }); 
}​ 

末,建议: 我觉得你不必控制登录过程在前端,因为这是非常危险的,任何人都可以重新创建你的代码并破解你的服务器,因为它是客户端。您应该将过程控制权交给后端服务器。

1

请勿使用JavaScript进行任何类型的身份验证!

对ASP代码隐藏进行登录验证,然后传递成功条件,您可以使用 response.write 打开一个新窗口。我做了一个类似的事情,打开一个信使窗口。登录成功时,我有以下代码:

Response.Write("<script> var win =window.open('chat.aspx','mywindow','width=700,height=450,left=800,top=10,location=1'); win.close();</script>") //closes the window if it is already open 
Response.Write("<script>window.open('chat.aspx','mywindow','width=700,height=450,left=800,top=10,location=1')</script>") //open the window 

再次,这就是我如何从代码隐藏中调用脚本。 希望你能朝正确的方向发展!