Jquery表单验证不起作用?

时间:2016-04-29 22:31:21

标签: jquery validation

我希望有人可以帮助我一些我一直在积累的jquery脚本。该脚本可以成功地将一些表单数据发布到mysql数据库。

我遇到的问题是我试图实现表单验证,但我无法使验证工作,我怀疑我在某处错误地放置了一个括号。我在这里发布的脚本有效,但表单验证不起作用。非常感谢任何帮助。

$(document).ready(function() {
$("#your_results").hide();
$("#your_data").hide();
$("#submitButtonId").on("click", function(e) {
    $('#gauge').empty();
    e.preventDefault();

    //Validate the input

    $(function() {
        $("#myform").validate({
});

        //Post the form if field has been completed

        var formdata = $('#myform').serialize();
        $.post('php_includes/insert.php', formdata,
            function(data) {

                //Reset Form

                $('#myform')[0].reset();
                fetchRowCount();
            });

        return false;
    });
});

//Fetch data from server

function fetchRowCount() {
    $.ajax({
        url: 'php_includes/server.php',
        dataType: "json",
        success: function(data) {
            $("#rows").html(data.rows);
            $("#min").html(data.min);
            $("#max").html(data.max);
            $("#mean").html(data.total);
            $("#last").html(data.last_entry);

            //Show gauge once json is received from server

            var gage = new JustGage({
                id: "gauge",
                value: data.total,
                min: data.min,
                max: data.max,
                title: "Sample Data"


            });
            $("#your_results").fadeIn("slow");
            $("#your_data").fadeIn("slow");
            //Scroll to Gauge
            $('html, body').animate({
                scrollTop: $('#results').offset().top
            }, 'slow');
            $("#gauge").fadeIn(slow);

        }

             });
               }
            });

myForm会

<form class="form-inline" action="" id="myform" form="" method="post">

            <!-- Text input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="bill_cost"></label>
                <div class="col-md-8">
                    <input id="bill_cost" name="bill_cost" type="text" placeholder="Bill Cost" class="form-control input-lg">

                </div>
            </div>
 <!-- Button -->
            <div class="form-group">
                <label class="col-md-4 control-label" for="submit1"></label>
                <div class="col-md-4">
                    <input type="submit" id="submitButtonId" name="submit1" class="btn btn-primary btn-xl" value="Submit">


                </div>
            </div>
</form>

此处显示的结果

<div class="container">
            <div class="row">
                <div class="col-lg-12 text-center">
 <!-- RESULTS HERE -->
<div id="your_results"></div>
 <!-- .GAUGE HERE -->
<div id="gauge" class="300x260px"></div>

1 个答案:

答案 0 :(得分:1)

如果您正确缩进代码,问题就会变得明显:

$(function() {
    $("#myform").validate({});

    //Post the form if field has been completed

    var formdata = $('#myform').serialize();
    $.post('php_includes/insert.php', formdata,
        function(data) {

            //Reset Form

            $('#myform')[0].reset();
            fetchRowCount();
        });

    return false;
});

你将验证函数包装在$(handler)中(一个JQuery对象,当传递一个函数时,成为$(document).ready(handler);的简写。所以你在文档就绪时运行验证而不是在你点击时你的提交按钮。