Javascript 什么';对jQuery进行表单验证的最简单方法是什么?

Javascript 什么';对jQuery进行表单验证的最简单方法是什么?,javascript,jquery,webforms,jquery-events,Javascript,Jquery,Webforms,Jquery Events,我要做的就是检查textfield是否已更改。如果没有,我想在按下submit时突出显示框。我该怎么做?看起来很简单,但不确定为什么其他解决方案都这么复杂。您可以使用该插件。基本上,您只是说它从未更改过,当它出现时,您设置了一个标志,表明它已更改: var changed = false; $('#textfield').change(function(){ changed = true; }); if(changed){ $('.textbox').each(function(

我要做的就是检查textfield是否已更改。如果没有,我想在按下submit时突出显示框。我该怎么做?看起来很简单,但不确定为什么其他解决方案都这么复杂。

您可以使用该插件。

基本上,您只是说它从未更改过,当它出现时,您设置了一个标志,表明它已更改:

var changed = false;
$('#textfield').change(function(){
    changed = true;
});
if(changed){
    $('.textbox').each(function(){
        $(this).addClass('.highlighted');
        //or something like this, whatever you want to do to highlight them
    });
}

基于Pim的答案,您可以使用jQuery的数据API为每个文本字段关联
changed
标志

// initially, assign changed to false for all text fields
$("input:text").data("changed", false);

// if any field changes, set its changed flag to true
$("input:text").change(function() {
    $(this).data("changed", true);
}

// finally on submission, get all text fields that did not
//  change by checking their "changed" property
var unchangedItems = $("input:text").filter(function() {
    return $(this).data("changed") === false;
});

比我的全球旗帜理念要好得多。很好的解决方案!请注意,使用javascript更改输入值不会触发
changed
event@Andrew布洛克-是的,但是你可以放一个$('fieldIChanged').trigger(“change”);当你这样改变它时:)其中'fieldIChanged'是该项的选择器(这个?)@Mark真的吗?哦,我会调查的哦!新版本!1.7与jQuery 1.42兼容。请参阅更新!让我知道!