点击登陆后,页面全屏显示,有一个问题是会在页面的最上方有个只读的地址栏,还没想好怎么去掉。
思路:点击登陆后,先用Ajax去后台执行登陆方法,如果成功,关闭登陆页面,window.open()打开一个新的页面。
登陆不成功,返回错误信息。
点击登陆按钮
<input id="loginBtn" class="login-btn" type="button" value="登录" onclick="newWin();"/>
<script type="text/javascript">
function newWin(){
$("#loadingPic").show(); //等待图片显示
setTimeout("showDiv()",500); //ajax方法延迟执行
}
//把window.open();写到这个方法是想避免浏览器的拦截,不过还是没有实现,依然会被浏览器拦截
function showDiv(){
var flag = subForm(); //ajax方法
if(flag == true){
window.open("${base}/indexLogin.do","", "fullscreen=yes, scrollbars=yes,
resizable=yes,location=no");
$("#loading").hide();
}else{
$("#loading").hide();
}
}
function subForm(){
var formvar=$('#myForm').serialize(); //表单序列化,传递用户名和密码
$.ajax({
type: "POST",
async: false,
url : "${base}/user/doLoginjson.do?"+formvar,
dataType:"json",
success:function(data){
if("1" == $("#flag").val()){
bol = true;
}
}
});
return bol;
}
</script>
补充: window.open();如何多次点击只显示一个窗口。
要加上名称 例子:window.open ("www.baidu.com", "百度", "height=500, width=800 toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no ") ;