Javascript停止servlet执行

时间:2014-05-20 08:57:51

标签: javascript html servlets

HTML

<form action="adduser", method="post">
...
 <td colspan="2"><input type="submit" value="Add" onclick="validate()"/></td>
</form>

的JavaScript

function validate() {
var payRate = document.getElementById("payRate").value;

if (payRate === parseInt(payRate)) {
    alert("it is an integer");
} else {
    alert("it is not an integer");
}

按下添加按钮后,它会调用validate函数,然后调用servlet(adduser)。我的问题是如何在validate函数中编写代码以防止servlet调用。我只想提醒一个对话框并留在页面上。请帮帮我

3 个答案:

答案 0 :(得分:4)

使用事件onSubmit代替onClick,因为用户可以使用Enter而不是点击提交按钮。

HTML

<form action="adduser", method="post" onsubmit="return validate();">
  ...
  <td colspan="2"><input type="submit" value="Add"/></td>
</form>

Javascript

function validate() {
    var payRate = document.getElementById("payRate").value;

    if (payRate === parseInt(payRate)) {
        alert("It is an integer");
        return true; // return true if you want to send the form to your server and reload the page
    } else {
        alert("It is not an integer");
    }
    return false; // return false to not reload the page
}

如果您需要将表单发送到服务器但不重新加载页面,请将return true;替换为ajax request


参考

答案 1 :(得分:2)

function validate() {
var payRate = document.getElementById("payRate").value;

if (payRate === parseInt(payRate)) {
    alert("it is an integer");
} else {
    alert("it is not an integer");
}
 return false; // this will disable the function
}

在HTML中,进行以下更改:

 <td colspan="2"><input type="submit" value="Add" onclick="return validate()"/></td>

答案 2 :(得分:2)

如果您需要通知您在单击(onClick事件)时在javascript中的验证方法上返回false或true:

 <form action="adduser", method="post">
    ...
     <td colspan="2"><input type="submit" value="Add" onclick="return validate();"/></td>
    </form>

如果输入正确或错误则返回true,否则如果我正确理解您要执行的操作(通知提交的数据不正确),则返回

function validate() {
var payRate = document.getElementById("payRate").value;

if (payRate === parseInt(payRate)) {
    alert("it is an integer");
    return true;
} else {
    alert("it is not an integer");
return false;
} 

以这种方式,如果数据正确,则通过alert()通知用户,并将请求发送到服务器,否则将通知用户不正确的数据,并且只要您在验证中返回false,就不会向服务器发送提交功能