jQuery возвращает неопределенное значение

#jquery

#jquery

Вопрос:

У меня действительно основная проблема

 $('#myForm').submit(function() {
    var v= input_value(this,'validate_code');
    alert(v);
}

function input_value(form, name){
    var emptyFields = $(":input").filter(function() {
            if(this.name == name) {
            alert(this.value);
                return this.value;  
                }
    });
}
  

Почему alert(this.value) показывает реальное значение и alert(v) показывает ‘undefined’?

Комментарии:

1. Ваша input_value() функция ничего не возвращает. Следовательно, v всегда будет undefined .

Ответ №1:

Функция обратного вызова, которую вы передаете, filter не вернет внешнюю функцию input_value . Оператор return внутри обратного вызова используется только для того, чтобы решить, сохранять элемент или нет.

Если вы действительно хотите получить пустые поля, вам придется отрицать значение:

 var emptyFields = $(":input").filter(function() {
    return !this.value;  
});
  

Вопрос в том, кем вы хотите v быть?