尽管输入无效,表单仍会提交

时间:2014-03-14 04:28:48

标签: javascript jquery html regex forms

我编写了一个HTML代码,其中我正在验证字母值Regex=/^[a-zA-Z]*$/的文本字段。实际上对于无效输入我希望该表单不应该被提交。

验证码

function Validate() {
    var fname=$("#fname").val();
    if(!(fname.match(Regex)))   
        alert("Invalid First Name");            
    return false;
}

HTML代码

<input type="text" name="fname" id="fname" onblur="return Validate();"/>

我应该怎么做,以便无效的价值表格不会被提交。

2 个答案:

答案 0 :(得分:0)

看起来你必须在onsubmit处理程序中返回 false 。 onblur只是处理焦点。 尝试更改onblur - &gt;的onsubmit

答案 1 :(得分:0)

使用form元素的onsubmit事件在验证正常时返回true,如果任何字段未验证则返回false。

这是一个工作示例。它还表明您不应该依赖客户端验证,因为只需键入url就无法阻止您进行获取(甚至发布)请求。您已收到有关客户端验证限制的警告,因此以下是代码:

<html>
<head>
<script>
function Validate() {
    var text = document.getElementById("fname").value;

    // simple validation example
    if (text != "secret") {
        alert("you must enter the right secret string!");
        return false;
    }          

    // everything validated
    return true;
}
</script>
</head>
<body>
    <form name="myForm" method="get" onsubmit="return Validate();">
     <input type="text" name="fname" id="fname"/>
    </form>
</body>
</html>