Какой самый простой способ сделать проверку формы для jQuery? - PullRequest
0 голосов
/ 16 марта 2010

Все, что я хочу сделать, это проверить, было ли изменено текстовое поле. если нет, я хочу выделить поля при нажатии кнопки «Отправить». Как я могу это сделать? кажется очень простым, но не уверен, почему любое другое решение так сложно

Ответы [ 3 ]

4 голосов
/ 16 марта 2010

Опираясь на ответ Пима, вы можете связать флаг changed для каждого текстового поля, используя API данных jQuery.

// 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;
});
2 голосов
/ 16 марта 2010

Вы можете использовать плагин jQuery Validate .

1 голос
/ 16 марта 2010

В общем, вы просто говорите, что он никогда не менялся, и когда он меняется, вы устанавливаете флаг, говорящий, что он был изменен:

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
    });
}
...