2013-08-20 34 views
0

以下的jQuery驗證代碼應該檢查的形式,用戶必須輸入e_usage場如果e_usagelow領域尚未出現空白。我寫了電子使用的依賴性通話功能基礎上,例如在jQuery Validation - Two fields, only required to fill in one,但不知何故我的功能不起作用(例如,當把鼠標放在電子使用領域,而e_usagelow爲空時,沒有驗證錯誤警告出現,並且控制檯顯示值'真')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

更新:似乎是(「:空」)功能不起作用(不知道爲什麼不???)。 。$( 「#e_usagelow」)VAL()長(> 0比較)似乎工作 – Joppo

+0

@ user2543182'是( ':空')'不工作使用'回報($( 「#e_usagelow」)VAL()。 。長度> 0)假:真;'[DEMO](http://jsfiddle.net/cse_tushar/PyMCx/1/) –