为什么jsp中的javascript不显示alert

以下代码可以复制到index.jsp中直接运行,可是输入框为空时JavaScript中的alert('请输入用户名!');并不会执行,也就不能弹出提示对话框,怎样让他可以... 以下代码可以复制到index.jsp中直接运行,可是输入框为空时JavaScript中的alert('请输入用户名!');并不会执行,也就不能弹出提示对话框,怎样让他可以弹出对话框?

<%@ page contentType="text/html; charset=GBK"%>
<SCRIPT language=JavaScript src="include/check.js" type="text/javascript"></SCRIPT>
<script language="JavaScript">
function userLogin(){
if(document.frmAction.username.value == null ||
checkLength(document.frmAction.username.value)<1){
alert('请输入用户名!');
return ;
}
if(document.frmAction.password.value == null ||
checkLength(document.frmAction.password.value)<1){
alert('请输入用户密码!');
return ;
}
document.frmAction.action="loginservlet?method=user_login";
document.frmAction.submit();
}
function userReg(){
document.frmAction.action="user_add.jsp";
document.frmAction.submit();
}
</script>
<%
String userName = request.getParameter("username");
if(userName == null) userName = "";
String passWord = request.getParameter("password");
if(passWord == null) passWord = "";
%>

<html>
<head>
<title>
用户登录
</title>
</head>
<body bgcolor="#ffffff">
<br>
<br>
<br>
<br>
<FORM method="POST" name="frmAction" >
<center>

<table border="1px #76aef0 solid" cellspacing="0" cellpadding="1" align=center bgColor=#E4E8EF>
<tr>
<td width="50%">用户名:</td>
<td width="50%"><input type="text" name="username" value="<%=userName%>"/></td>
</tr>
<tr>
<td width="50%">密码:</td>
<td width="50%"><input type="password" name="password" value="<%=passWord%>"/></td>
</tr>
<tr>
<td width="50%">
<center>
<input type="submit" onclick="userLogin();" value="登录" class="button"/>
</center>
</td>
<td width="50%">
<center>
<input type="submit" onclick="userReg();" value="注册" class="button"/>
</center>
</td>
</tr>
<!--

<tr>
<td colspan="2">
<center>
<input type="submit" onclick="userLogin();" value="登录" class="button"/>
</center>
</td>
</tr>
-->

</table>
</center>
</FORM>
</body>
</html>
展开
 我来答
xiaojbao
推荐于2018-03-07
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>

用户登录

</title>

<script language="JavaScript" type="text/javascript">

 

function userLogin(){

 

 var userName=document.getElementById("username");

 var password=document.getElementById("password");

    if(userName.value == "" && userName.value.length<5){

       alert("请输入用户名!")

       userName.focus();

       return false;

    }else if(password.value == "" && password.value.length<5){

     alert("请输入用户密码!");

     password.focus();

        return false;

    }else{

      

     return true;

    }

}

function userReg(){

    document.frmAction.action="user_add.jsp";

    document.frmAction.submit();

}

</script>

</head>

<body bgcolor="#ffffff">

<br>

<br>

<br>

<br>

<FORM method="POST"  name="frmAction" >

<table border="1px #76aef0 solid" cellspacing="0" cellpadding="1" align="center" bgColor="#E4E8EF">

    <tr>

        <td width="50%">用户名:</td>

        <td width="50%"><input type="text" name="username" /></td>

    </tr>

    <tr>

        <td width="50%">密码:</td>

        <td width="50%"><input type="password" name="password"/></td>

    </tr>

   <tr>

        <td width="50%" align="center">

            <input type="button" onClick="userLogin()" value="登录" />

        </td>

        <td width="50%" align="center">

            <input type="button" onClick="userReg()" value="注册" />

        </td>

    </tr>

</table>

</FORM>

</body>

</html> 

我帮你改了下,你看看能不能用alert了....

千锋教育
2015-12-01 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

  不显示alert通常为:

  1. 没有触发某方法里的alert语句

  2. 语法有误,如判断条件为假等

    alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框。如:

    <html>
    <head>
    <script type="text/javascript">
    function display_alert()
     {
     alert("I am an alert box!!")
     }
    </script>
    </head>
    <body>
    <input type="button" onclick="display_alert()"
    value="Display alert box" />
    </body>
    </html>

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
土味洋芋
2010-07-14 · 智慧城市架构师,构建未来城市
土味洋芋
采纳数:134 获赞数:1166

向TA提问 私信TA
展开全部
就个是你自己的问题:

页面加载时,先执行:

<%
String userName = request.getParameter("username");
if(userName == null) userName = "";
String passWord = request.getParameter("password");
if(passWord == null) passWord = "";
%>

然后 ,将username的值""(注意,不是null)填入到<input ...name="username"/>

也就是说,你每次进入页面,username的值都是"",而不是null

然后再看看你的JS代码:

得不到正确结果的原因,可能是你的checkLength方法有问题,其实你可以直接这样写:

var value = document.frmAction.username.value;
if(value == null || value == ""){
alert('请输入用户名!');
return false;
}

另外,楼上的,不用加return 也是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌微月2S
2010-07-14 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2898万
展开全部
先说问题
document.frmAction.username.value
这样写不好,以后如果username这个名称改了,程序要改多个地方的
改成
username=document.frmAction.username.value
然后下面的程序中用username。

<input type="button" onclick="userLogin();" value="登录" class="button"/>
submit改为button
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzwgfj
2010-07-14 · TA获得超过223个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:107万
展开全部
if(document.frmAction.username.value == null ||
checkLength(document.frmAction.username.value)<1){
alert('请输入用户名!');
return ;
}

改成这样
if(document.frmAction.username.value.length<1){
alert('请输入用户名!');
return false;
}
其实你应该在input框加个id属性,然后用document.getElementById('').value获得;如给用户名加个id="name",就可以用这样获得document.getElementById('name').value

如果你是用submit提交,onclick="return userLogin();" 方法前要都加个return

希望对你有所帮助,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式