日期:2014-05-19  浏览次数:20889 次

我的这个js文件怎么不起作用呢?求指教
我想用一个js文件验证表单,使其在提交时不为空。可是最后为什么不起效果呢,请各位看一下是我写错了还是配错了 谢谢哈
success.jsp(在WebRoot目录下)的表单相关代码如下:
<head>
  <base href="<%=basePath%>">
   
  <title>My JSP 'success1.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<style type="text/css">
<!--
a:link {font-family:"宋体";text-decoration:none}
a:visited {font-family:"宋体";text-decoration:none}
a:hover {font-family:"宋体";text-decoration:none}
-->
</style>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" language="javascript" src="js/checkForm.js"></></script>
  </head>
  </head>
  
  <body >
  <center>
  <form name="login" action="<%= request.getContextPath()%>/CheckLoginServlet" method="post" >
  <table width="80%" border="1">
  <tr>
  <td align="center" colspan="2"><img src="images/regsucc.PNG" width="216" height="44" /></td>
  </tr>
  <tr>
  <td width="50%"><div align="right">用户名:</div></td>
  <td width="50%"><input type="text" name="username" /></td>
  </tr>
  <tr>
  <td><div align="right">密码:</div></td>
  <td><input type="password" name="password" /></td>
  </tr>
  <tr>
  <td align="right"><input type="submit" name="login" value="登录" onclick="checkForm(login)"/></td>
  <td ><div align="left"><a href="register.jsp"><img src="images/rereg.PNG" width="90" height="32" border="0"/></a></div></td>
  </tr>
</table></form>

js文件在WebRoot目录下的js文件夹里面,checkForm.js的代码如下
function checkForm(form){
if(isEmpty(form.username.value) || isEmpty(form.password.value)){
alert("请把登录信息填写完整!");
return false;
}
}





------解决方案--------------------
<input type="submit" name="login" value="登录" onclick="checkForm(login)"/>
你的方法放错了!
你的type是submit、一点击它就提交表单了!
应该在<form>标签中加入onsubmit="return checkForm(login)"方法!
然后在checkForm(login)方法内部给一个返回值true或者false。
这样、当方法返回false的时候、表单就不会提交了!