2014-03-14 36 views
1

我写了一个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();"/> 

我应该怎么做,这样对于无效值的形式不应该得到提交。

+0

1)请勿使用警报。更新HTML中的验证范围。 2)使用'onsubmit'方法进行验证。 3)在Stack Overflow上搜索'[Javascript] Validation''。 –

回答

0

看起来你必须在onsubmit处理函数中返回false。 onblur只是处理重点。 尝试更改onblur - > onsubmit

0

使用表单元素的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>