客户端验证以检查值是否已更改

时间:2016-02-23 22:35:27

标签: jquery forms validation

我有一组必需的基本字段,并具有预设值,如下所示:

<input name="ch_register_emergency_phone" id="ch_register_emergency_phone" type="tel" value="Emergency Contact Phone" class="required" />

我想要做的是提交,检查他们是否输入了新值。如果不是,他们必须这样做并重新提交。我有这个,但在第二次提交后,他们修正了错误后仍然会突出显示,因为值已重置为他们输入的内容。不知道怎么去检查这个。

    var input = $('#ch_register_salesforce input:not([type="submit"])');
    var inputRequired =$('.required');
    var submit = $('#submit');

    submit.on('click', function(event) {
        event.preventDefault();
        /* Act on the event */

        inputRequired.each(function() {

            var default_value = $(this).val();

            //alert(default_value); test the var

            if( $(this).val() != default_value ){
                inputRequired.removeClass("invalid").addClass("valid");
            }else{
                inputRequired.removeClass("valid").addClass("invalid");
            }

        });

    }); 

1 个答案:

答案 0 :(得分:0)

只需在var default_value = submit.val();之后添加var submit = $('#submit');,然后从该函数中删除该default_value行。这样,默认值是一个全局变量,并在页面加载时保存,可用于检查值是否已更改。这是有效的,因为表单是通过ajax提交的。否则,您可以使用本地存储,也可以将硬编码的默认值保存到变量而不是submit.val()