2013-12-13 40 views
-1

我有一個MVC 4應用程序,我正在努力。其中一個頁面是一個登錄頁面,其中包含兩個用於用戶名和密碼的文本字段。我在頁面底部有一個提交按鈕。我已經爲按鈕設置了樣式,我想要做的就是使它成爲我設置的灰色,當文本字段中沒有任何內容時,當兩個文本字段都有值時,按鈕會改變顏色。我怎樣才能用JavaScript實現這一目標?這是我試過的,但它只是拋出一個錯誤:基於文本字段更改按鈕顏色

$(document).ready(function() { 
    $("#uName, #pWord").value(function() { 
     if ($("#uName, #pWord").is(null)) { 
      $("#submitBtnNormal").removeClass('on'); 
     } else { 
      $("#submitBtnNormal").addClass('on'); 
     }; 
    }); 
}); 

感謝您的任何幫助提前!我對JS很不好。

回答

2

使用此

$(document).ready(function() { 
    $("#uName, #pWord").change(function() { 
     if (!$("#uName").val().length && !$("#pWord").val().length) { 
      $("#submitBtnNormal").removeClass('on'); 
     } else { 
      $("#submitBtnNormal").addClass('on'); 
     }; 
    }); 
}); 

沒有任何活動稱爲value。您要捕獲編輯輸入字段文本時觸發的事件change

+0

我需要用UNAME和PWORD標記股利,或者我需要設置註釋@ Html.EditorFor(model => model.Username,new {id =「uName」})以及pWord? – Skrubb

+0

@Skrubb - 輸入文本字段需要有那些ID不是div。 – Krishna

0

首先,您嘗試使用的方法是val,而不是value。其次,您需要在諸如keyup之類的事件下運行您的代碼。試試這個:

$(document).ready(function() { 
    $("#uName, #pWord").keyup(function() { 
     if (!$("#uName").val() || !$("#pWord").val()) { 
      $("#submitBtnNormal").removeClass('on'); 
     } else { 
      $("#submitBtnNormal").addClass('on'); 
     }; 
    }); 
}); 
0

試試這個,

JS腳本

$(document).ready(function() { 
    $("#uName, #pWord").change(function() { 
     if ($("#uName").val()!='' && $("#pWord").val()!='') { 

      $("#submitBtnNormal").removeClass('on'); 
     } else { 
      $("#submitBtnNormal").addClass('on'); 
     }; 
    }); 
}); 

DEMO