提交前预先验证表格

时间:2013-07-30 18:03:10

标签: javascript jquery validation

我正在尝试制作一些东西(或根据他们的选择不显示)。但是,我需要在验证之前做到这一点。我怎么能这样做?我的代码仅在按下提交按钮后执行此操作。但是我需要预先验证它,以便从开始就出现红色。

(注意:我不想使用硬编码的CSS,因为我需要使用类似的代码进行显示并且不显示任何内容。)

if($('#amortization_years').val() == '' || $('#amortization_years').val() == 0 || $('#amortization_years').val() >= 36 || $('#amortization_months').val() >= 12 || ($('#amortization_years').val() == 35  && $('#amortization_months').val() > 0))

{
    $('#amortization_years').css('border', 'solid red 2px');
    $('#error_years').fadeIn(3000);
    $('#amortization_months').css('border', 'solid red 2px');
    $('#error_months').fadeIn(3000);
    valid = false;}
    else {($('#error_years').fadeOut(3000) && $('#error_month').fadeOut(3000));
}

编辑:重做但仍需要帮助

我研究了@Aprillion链接我的内容。这就是我需要(重做)的东西,这是一个下拉菜单。

最后,表格的一部分(下拉菜单中的#16)只有在满足某些条件时才需要出现(基本上如果一个人选择第一个答案,那么他也可以选择第16个问题,它会出现在下拉菜单中。所以基本上,如果这个人没有在下拉菜单中选择包含15个项目(加上第16个项目)的任何项目,那么他就不能选择#16。

这是我正在重做的代码。

    <script>
            /*
The id for the thing
    sCat-<?php echo $numProj; ?><?php echo $numC ?>
    */
    window.onload=function(){
        var validate = function(evt){
            // your custom code, e.g.:
            valid = true;
            if ($('.16th').val() !== "sCat-<?php echo $numProj; ?><?php echo $numC ?>") {
                //valid = false;
                $('.16thup').css('display', 'none');
                //$('#a').addClass("invalid");
            } else {
                //$('#a').removeClass("invalid");
                $('.16thup').css('display', 'block');
            }
            //return valid;
        }

        $('#myform').change(validate);
        $('#myform').submit(validate);
        }

    </script>

1 个答案:

答案 0 :(得分:0)

您可以将验证绑定到change事件以及submit

http://api.jquery.com/change/