如何使用javascript验证jsp表单中的多个文本框(在提交时)?

时间:2014-05-04 00:42:04

标签: javascript forms jsp

对不起这个简单的问题。我有一个JSP,其中我有几种形式,每种形式都包含多个文本框,这些文本框采用不同类型的文本(例如日期,名称,平衡)。如何让用户填写字段,然后只提交给服务器?是否可以只使用一个js函数?

1 个答案:

答案 0 :(得分:1)

注意:这个答案不使用任何JSP或JavaScript,因为在HTML5中不再需要这样做。

您可以在输入上使用HTML5的required属性,然后让用户知道输入未通过:invalid CSS伪类正确填写。它看起来像这样:

<强> HTML

<form id="myForm" action="#">
    <label>Date: <input type="date" name="date" required></label>
    <br>
    <label>Name: <input type="text" name="firstname" required></label>
        <input type="text" name="lastname" required>
    <br>
    <label>Balance: <input type="number" name="balance" required></label>
    <br>
    <button>Submit</button>
</form>

<强> CSS

#myForm input:valid {
    background:#AFA;
}
#myForm input:invalid {
    background:#FAA;
}

Demo

额外信息

  • 有关输入类型的完整列表(例如上面列出的那些,还有emailcheckbox之类的输入类型),请参阅MDNthis interactive page with demos
  • 有关:valid:invalid的跨浏览器兼容性的详细信息,请参阅:valid上的MDN和:invalid

备注

  • 这些特定的输入类型也会限制或简化用户的输入。 number输入仅将输入限制为数字(否则将阻止提交表单),date输入将向用户说明应如何输入日期。两者都将简化为这些输入输入信息
  • 请注意,并非旧版浏览器都支持所有这些浏览器,这些浏览器通常默认为纯文本输入。有关浏览器支持的完整详细信息,请参阅caniuseMDN's list
  • 绝不仅仅依赖客户端验证。在客户端修改表单非常容易,这可能会导致XSS vulnurabilities。始终验证服务器上的正确输入。