JQuery Validation问题只接受数字。

时间:2014-12-18 12:50:01

标签: javascript jquery jquery-validate

我有一张我想要验证的表单。这是html

<h2>Personal Details</h2>
            <p>Please enter in some information about you.</p>
            <div id="form-row">
                <label>Name</label>
                <input type="text" name="name" value="" id="name" required/>
            </div>
            <div id="form-row">
                <label>Telephone</label>
                <input type="text" name="telephone" value="" id="telephone" required/>
            </div>
            <div id="form-row">
                <label>Email</label>
                <input type="email" name="email" value="" id="email" required/>
    </div>

我需要使用某种形式的validation,因此我选择使用名为jQuery的{​​{1}}验证插件。这是我的.validate

script

第一次加载页面时,我没有收到任何错误,验证工作正常。但是,如果输入&#39; aaa&#39;进入$(document).ready(function($) { //When the form is submitted do this... $("#stripe-payment-form").submit(function(event) { //Validation // just for the demos, avoids form submit $.validator.setDefaults({ debug: true, success: "valid" }); $( "#stripe-payment-form" ).validate({ rules: { telephone: { required: true, digits: true } } }); 输入我收到此错误并且未进行验证:

telephone

有谁知道为什么会这样?我正在关注

上的文档

http://jqueryvalidation.org/digits-method

2 个答案:

答案 0 :(得分:2)

您需要在jquery之后包含jquery.validate.js文件,如下所示:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.min.js"></script>
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>

此外,您的javascript代码应该更像这样:

$(document).ready(function() {
    $( "#stripe-payment-form" ).validate({
        rules: {
            telephone: {
                required: true,
                digits: true
                }
        }
    });
});

无需将其包装在表单提交事件中。它会自己做到这一点。如果您希望在表单提交上执行其他操作,请使用submitHandler选项。

答案 1 :(得分:0)

您也可以通过开发函数并根据您的要求调用它来完成代码。

var only_Number;
$(function(){
    $('.onlynumber').keypress(function(){
        return only_Number();
    });

    only_Number=function(evt){
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;
        if (charCode > 31 && (charCode < 48 || charCode > 57)) {
            return false;
        }
        return true;
    }
});

另请查看codepen:http://codepen.io/ahmadasjad/pen/bNMmya