我想创建一个自定义TLD标记,如果在用户提交后该字段为空,则在输入字段旁边分配一个星号。最好的方法是什么?我正在考虑使用但是我可以从表单中完成所有操作,还是应该转到servlet并返回?我想我得到的是最好的方法是什么?
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="datetime" tagdir="/WEB-INF/tags" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>Assignment 4</title>
<style type="text/css">@import url(/css/style.css);</style>
</head>
<body>
<div id="registration">
<form action="registrationServlet" method="post">
<c:set var="customer" scope="session" value="${session.customer}" />
First Name:<br>
<input type="text" name="firstName" value="${customer.getFirstName() }"/><br>
Last Name:<br>
<input type="text" name="lastName" value="${customer.getLastName }"/><br>
Email:<br>
<input type="text" name="emailAddress" value="${customer.getEmailAddress }"/><br>
Password:<br>
<input type="password" name="password"/><br>
<input type="submit" value="Submit"/><br>
Current Date/Time: <datetime:CurrentDateTime/>
</form>
</div>
</body>
</html>
答案 0 :(得分:1)
有一些实现这一点的可能性。最简单的可能是在javascript中执行此操作。
您可以拦截正在提交的表单,检查字段是否为空,如果是,则附加星号。如果没有,请提交表格。
例如将onsubmit
添加到表单
<form id="myform" onsubmit="return validateForm()">
<input type="text" id="myinput">
...
然后使用javascript和jquery:
function validateForm() {
if ($('input:text').is(":empty")) {
$('input:text').after("<span>*</span>");
return false;
}
return true;
}
更强大的方法是实现服务器端验证。如果你正在使用spring mvc,那么有很多资源可以解决这个问题。