2013-08-20 2 views
0

Следующий код проверки jQuery должен проверять форму, которую пользователь должен ввести в поле e_usage, если поле e_usagelow не было заполнено. Я написал функцию вызова зависимостей для электронного использования на основе например, jQuery Validation - Two fields, only required to fill in one, но как-то моя функция не работает (например, когда мы наводим указатель мыши на поле электронного использования, в то время как e_usagelow пуст, появляется предупреждение об ошибке проверки, а консоль показывает значение «true»)jQuery проверить зависимую функцию вызова

Что пошло не так?

Пожалуйста, ваша помощь.

HTML код:

E-usage: <input id="e_usage" type="text" name="e_usage"> 
E-usage low: <input id="e_usagelow" type="text" name="e_usagelow" > 

Javascript код:

$(document).ready(function() { 
    $("#myForm").validate({ 
    rules: { 
     'e_usage': { 
     required: function (element) { 
      console.log("validation: required: " + $("#e_usagelow").is(':empty')); 
      return $("#e_usagelow").is(':empty'); 
     }, 
     minlength: 3, 
     maxlength: 8, 
     number: true 
     }, 
     'e_usagelow': { 
     required: true, 
     minlength: 3, 
     maxlength: 8, 
     number: true 
     } 
    } //rules 
    }); //validate() 
}); //function 

ответ

0

DEMO

изменение 'e_usage' к e_usage

'e_usagelow' и к e_usagelow

id не заключен в кавычки

$(document).ready(function() { 

    $("#myForm").validate({ 

     rules: { 
      e_usage: { //removed quotes from id 
       required: function (element) { 
        console.log("validation: required: " + $("#e_usagelow").is(':empty')); 
        return $("#e_usagelow").is(':empty'); 
       }, 
       minlength: 3, 
       maxlength: 8, 
       number: true 
      }, 

      e_usagelow: { //removed quotes from id 
       required: true, 
       minlength: 3, 
       maxlength: 8, 
       number: true 
      } 

     } //rules 


    }); //validate() 

}); 
+0

Thnx для оперативного реагирования. Несчастливо он все еще не работает, если у меня нет другого/неправильного ожидания функции проверки. (После применения предложенного изменения :) Когда я, как пользователь, выполняю следующие шаги: (1) заполняет только 1 символ в поле «e_usage» -> предупреждение об ошибке; (2) удалить символ в поле e_usage -> предупреждение об ошибке «это поле обязательно»; (3) заполнить 4 символа в поле «e_usagelow» -> предупреждение об ошибке «это поле необходимо» в поле e_usage НЕ исчезнет (? ?), что бы я ожидал ... – Joppo

+0

UPDATE: кажется, что функция is (': empty') не работает (не уверен, почему нет ???). $ ("# e_usagelow"). val(). length (> 0 сравнение), похоже, работает – Joppo

+0

@ user2543182 'is (': empty')' not working use 'return ($ (" # e_usagelow "). val() .length> 0)? false: true; '[DEMO] (http://jsfiddle.net/cse_tushar/PyMCx/1/) –

Смежные вопросы