在提交表单时测试值是否为数字不起作用

时间:2013-05-20 12:03:41

标签: jquery validation submit numeric

我有一个简单的代码,在提交表单之前检查值是否为数字,但表单提交的内容甚至不是数值

<form action="asdasd" method="POST" id="my_form" >
<input type="text" name="userphone" id="userphone" />
<br />
<input type="submit" name="register" id="register" value="register" />
</form>

js code

$(document).ready(function() {

$('#userphone').blur(function () {
var phone = $("#userphone").val();
var phonelen = phone.length;

if (!$.isNumeric(phone) || phonelen<6) {
    $("#userphone").css("background-color", "#ff9f9f");
    return false;
} else {
    $("#userphone").css("background-color", "#fff");
    return true;
}
})
});

function check_user_phone(){ 
var phone = $("#userphone").val();
var phonelen = phone.length;

if (!$.isNumeric(phone) || phonelen<6) {
    return false;
} else {
    return true;
}
} 

$("#my_form").submit(function(){
 if (!check_user_phone()) {
    return false;
} else {
    return true;
}
})

但即使电话价值不是数字,表单仍在提交数据

1 个答案:

答案 0 :(得分:1)

尝试将JSFiddle选项从onLoad更改为No wrap - in <head>

<强>的jsfiddle: - http://jsfiddle.net/adiioo7/wfpbV/5/

<强> JS

jQuery(function(){
    $("#reg").submit(function(e){
        if(!check_phone() ){  
            e.preventDefault();
        }
    });
});