2016-06-18 38 views
-2

此代碼無效。控制檯說n.blur is not a functionjQuery - n.blur不是函數

var name = '', 
    formElement = '', 
    fullname = $('.form input[name="user"]'), 
    email = $('.form input[name="pass"]'); 

$('.form input').click(function() { 
    name = $(this).attr('name'); 
    formElement = $('.form input[name="'+name+'"]'); 
}); 

formElement.blur(function() { 
    if(formElement.val().length === 0) { 
     formElement.closest('.form-group').addClass('has-error'); 
    } else { 
     formElement.closest('.form-group').removeClass('has-error'); 
    } 
}); 
+4

在'click'事件之前,你沒有定義'formElement',你期望它如何工作? –

回答

2

有沒有blur方法,因爲在這一點上formElement是一個字符串:

var name = '', 
    formElement = '', 
    ... 
+0

怎麼辦?.... –

+0

@HarardDype我們不能告訴你該怎麼做。您的代碼沒有任何意義,除了「此代碼無法工作」之外,您還沒有告訴我們任何內容。請告訴我們你是如何工作的。 – JLRishe

0

我不認爲你需要你的.click()功能,並可以將您的blur()所有.FORM輸入:

$('.form input').blur(function() { 
    formElement = $(this); 
    if(formElement.val().length === 0) { 
     formElement.closest('.form-group').addClass('has-error'); 
    } else { 
     formElement.closest('.form-group').removeClass('has-error'); 
    } 
}); 

這應該達到相同的效果。