日期:2014-05-18  浏览次数:20721 次

大家看看我这样做登录页对不对
我刚接确JSP,什么也不懂,就想做个最简单的登录页,想了解一下流程,没连数据库
有一个按钮,单击调用JS函数来响应单击事件:

<input   name=submit2   type= "image "   onclick= "OpenWin() "   value= "mysubmit "   src= "images/login_button.jpg "   align= "middle ">

然后是调用的JS,其中混杂了JSP代码:

        <script   language   =   "javascript ">
            function   OpenWin()
            {
                    <%String   user=request.getParameter( "username ");
                        if   (user== " ")
                        {
                        %>
                                alert   ( "密码为空 ");
                        <%}          
                        else
                        {%>
                                window.open( "main_sel.jsp ");
                        <%}%>                        
            }
        </script>

大家通常都是不是这样做的?
我这个东西有一个问题,user取的是用户名文本框的值,如果user不为空,单击第一下还是弹出密码为空,要点第二下才能打开新页面,为何?
谢谢大家!

------解决方案--------------------
没必要那么复杂吧?
验证登录窗口输入用户名和密码是不是为空的时候,直接用js判断就可以了,
不需要夹杂jsp代码的.

function CheckForm()
{
if(document.myform.username.value== " ")
{
alert( "请输入您的用户名! ");
document.myform.username.focus();
return false;
}
if(document.myform.password.value == " ")
{
alert( "请输入您的密码! ");
document.myform.password.focus();
return false;
}
}

然后在form后面加一个onSubmit= "return CheckForm(); "就可以了.
------解决方案--------------------
JSP代码是在服务器上执行的,当传到客户端里,已经不是你想像的那样了.

------解决方案--------------------
ajax
------解决方案--------------------
MVC+AJAX 别在javascript里面掺入java代码

javascript验证一下是否为空 是否超过长度 是否已存在的用户名(AJAX) 就可以了

和数据库交互放到servlet里面 在servlet里面调用javabean的验证方法