【问题标题】:Calling servlet after validate data with Javascript使用 Javascript 验证数据后调用 servlet
【发布时间】:2011-11-12 17:10:44
【问题描述】:
我正在做一个 web 应用程序,它是一个简单的 HTML 表单,有一个按钮调用 javascript 函数来验证表单中的数据,但如果数据正确,我需要调用一个 Servlet。
我有这样的东西..
<form method="get" id="form" action="ServletForm">
.
.
.
<input type="submit" value="send" onclick="valiData()">
</form>
信息已正确验证,但我需要知道如果数据正确插入数据库,我该如何调用 servlet。
【问题讨论】:
标签:
java
javascript
html
servlets
【解决方案1】:
你有一个 type="submit" 按钮的事实意味着它应该自动提交表单(到表单的“action”指定的 URL),除非你故意取消提交。
使用表单上的onsubmit 事件来运行验证。如果您返回 true,则提交将继续,如果您返回 false,它将被取消。
如果提交更新数据,您应该使用“post”而不是“get”。
试试这样的:
<form method="post" action="ServletForm" onsubmit="return valiData();">
...
</form>
<script>
function valiData() {
// validation here
// presumably some sort of if statement, then
return true; // if validation passes and you want to submit
return false; // if validation fails and you want to cancel
}
</script>
注意onsubmit="return valiData();"是取消/允许继续提交的关键部分。
您也可以执行类似于取消/允许单击按钮的操作,但如果表单以其他方式提交,例如通过在文本字段中按 Enter 键,则不会涵盖您。