我在jsp文件中有一個登錄頁面,它也使用jstl和一個簡單的javascript驗證來檢查它的字段是否爲空。在我的jsp文件中被忽略的Javascript在spring中實現mvc
點擊'登錄'按鈕,它應該檢查字段是否已滿,然後如果爲true,則將表單詳細信息傳遞給Dispatcher Servelet並執行其餘的過程。
但是,點擊提交按鈕時,javascript被完全忽略,所以如果有空白字段出現異常。 這是怎麼回事?
這是我所使用的代碼:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>iLitmus Portal</title>
<link href="<c:url value="resources/css/login.css" />" rel="stylesheet" type="text/css" />
<link href="<c:url value="resources/css/common.css" />" rel="stylesheet" type="text/css" />
<link href="<c:url value="http://fonts.googleapis.com/css?family=Amaranth" />" rel="stylesheet" type="text/css" />
<link href="<c:url value="http://fonts.googleapis.com/css?family=Convergence" />" rel="stylesheet" type="text/css" />
<%@ include file="header.jsp" %>
</head>
<body >
<div id="portal_banner" align="center">
<img src="resources/images/logo-main.png" id="logo">
<p>Litmus iPortal</p>
</div>
<div id="loginbox">
<div align="center">
<h3 id="chngpass_title">Login</h3>
<form:form name="frm" method="post" action="login" onsubmit="return validateForm()" commandName="login">
<form:input type="text" path="emp_id" name="username" placeholder="Employee-ID"/><br>
<form:input type="password" path="password" name="pwd" placeholder="Password"/>
<br>
<input type="submit" value="Login">
<br>
<b> ${error} </b>
<p id="firstuser">If you are a first time user, please login with the predefined password. You will be directed to change your password and set up
a security question and answer.</p>
</form:form>
</div>
</div>
<script>
function validateForm()
{
if(document.frm.username.value==""&&document.frm.pwd.value!="")
{
alert("User Name should not be left blank");
return false;
}
else if(document.frm.pwd.value==""&&document.frm.username.value!="")
{
alert("Password should not be left blank");
return false;
}
else if(document.frm.pwd.value==""&&document.frm.username.value==""){
alert("Username and Password cannot be empty!");
return false;
}
return true;
}
</script>
</body>
</html>
我想這首先通過將JavaScript代碼在外部.js文件,並沒有工作,所以我試圖把它在JSP頁面檢查是否可行。 我也試過了基於jQuery的驗證類似於這個邏輯,但也沒有奏效。
我在Eclipse Juno中使用Tomcat服務器進行此操作。
任何幫助將不勝感激!
在jsp的頭部分發布你的腳本 – 2014-09-24 12:29:20
@amitbhardwaj我也試過了。沒有工作:( – Yami 2014-09-24 12:32:22
指定一個ID而不是名稱,'name'屬性用於將客戶端查找的id提交給客戶端,而且客戶端驗證的事實並不意味着您不應該進行驗證在服務器端,永遠不要相信你的客戶端在服務器上始終如此驗證! – 2014-09-24 12:33:45