我想验证我的jsp表单。
我的test.jsp页面如下
<%@ page import="java.util.Date" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test</title>
<script>
function validateForm() {
var address = document.getElementById("txtAddress");
alert("Address : " + address);
if (address == null || address == "") {
alert("Enter Address");
return false;
}
var city = document.getElementById("txtCity");
if (city == null || city == "") {
alert("Enter City");
return false;
}
}
</script>
</head>
<body>
<form name="TestForm1" action="loginServlet" method="post" onsubmit="return validateForm();">
<table>
<tr>
<td>Address :</td>
<td><input type="text" name="txtAddress" value="${reqObj.address}" /></td>
<td>City :</td>
<td><input type="text" name="txtCity" value="${reqObj.city}" /></td>
</tr>
<tr align="left">
<td colspan="4"><input type="submit" value="Submit" /></td>
</tr>
</table>
<%
String createdDate = "";
Date dt = new Date();
createdDate = dt.toString();
System.out.println("currentTime>>>>" + createdDate);
%>
</form>
</body>
</html>
问题是,运行此项目时,我的test.jsp表单显示为空的“地址”字段,当我单击“提交按钮”时,警报显示“地址:空”
但是,当我在“地址”文本框字段中写一些值时,我再次单击“提交”按钮,它向我显示“地址:空”
我将JAVA与Eclipse Mars 1结合使用。
id
jsp中没有属性。
<input type="text" name="txtAddress" value="${reqObj.address}" />
添加id
(id="txtAddress"
)attr,然后使用document.getElementById("txtAddress");
<input type="text" id="txtAddress" name="txtAddress" value="${reqObj.address}" />
您可以检查length
而不是null
和""
if(address.value.trim().length == 0)
不仅id
可以使用class,name,tag
也可以使用
document.getElementById("xyz");
document.getElementsByTagName("p");
document.getElementsByClassName("abc");
document.getElementsByName("xyz");
更新:主要是您缺少value
该元素的获取。取值然后检查
address.value.trim().length
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句