2016-08-17 18 views
1

私の入力フィールドがすべて空でない限り、フォームが無効になることがあります。jQuery、すべての入力が空でない場合、ボタンにクラスを追加してください。

さらに、電子メールが電子メールでありパスワードが最低8などであることを確認するなど、私は他のものを追加しますが、今のところ、すべての入力が空でなくても、条件チェックボックスがオンになっています。

これは私のコードです:すべてのフィールドが空でないのであれば、i「は.activeボタン」のボタンにクラスを追加

$('.m-name').keyup(function(){monthlyButtonActive();}); 
$('.m-email').keyup(function(){monthlyButtonActive();}); 
$('.m-password').keyup(function(){monthlyButtonActive();}); 
$('.m-password-confirm').keyup(function(){monthlyButtonActive();}); 
$('.m-terms').change(function(){monthlyButtonActive();}); 

function monthlyButtonActive() 
{ 
    var complete = 0; 
    if($('.m-name').val().length > 2){ 
     complete++; 
    }else{ 
     complete = 0 
    } 
    if($('.m-email').val().length > 2){ 
     complete++; 
    }else{ 
     complete = 0 
    } 
    if($('.m-password').val().length > 2){ 
     complete++; 
    }else{ 
     complete = 0 
    } 
    if($('.m-password-confirm').val().length > 2){ 
     complete++; 
    }else{ 
     complete = 0 
    } 
    if($('.m-terms').is(':checked')){ 
     complete++; 
    }else{ 
     complete = 0 
    } 
    if(complete == 5){ 
     console.log(complete); 
     console.log('its now complete'); 
     $('.monthly-button').children('.orange-button').addClass('active-button'); 
    }else{ 
     $('.monthly-button').children('.orange-button').addClass('active-button'); 
    } 

が、私はそれのクラスを取るしたくない場合は。しかし、私もそれが欲しいと働いていません。

誰でもお手伝いできますか?フィールドが空の場合は、0 =完全に作るので、あなたが問題を抱えている

おかげ

+0

以前のクラスを削除してから新しいクラスを追加しようとしましたか?またはボタン要素にIDとIDを追加することを検討しますか? – ThatAwesomeCoder

+3

が完了すれば5これは他に同じことをしますか少し感覚がありません –

答えて

-1
$('.m-name').keyup(function(){monthlyButtonActive();}); 
$('.m-email').keyup(function(){monthlyButtonActive();}); 
$('.m-password').keyup(function(){monthlyButtonActive();}); 
$('.m-password-confirm').keyup(function(){monthlyButtonActive();}); 
$('.m-terms').change(function(){monthlyButtonActive();}); 

function monthlyButtonActive() 
{ 
    var complete = 1; 
    if($('.m-name').val().length<=2){   
     complete = 0 
    } 
    else if($('.m-email').val().length <=2){   
     complete = 0 
    } 
    else if($('.m-password').val().length<=2){   
     complete = 0 
    } 
    else if($('.m-password-confirm').val().length <=2){   
     complete = 0 
    } 
    else if($('.m-terms').is(':checked')==false){    
     complete = 0 
    } 
    if(complete == 1){ 
     console.log(complete); 
     console.log('its now complete'); 
     $('.monthly-button').children('.orange-button').removeClass('deactive-button').addClass('active-button'); 
    }else{ 
     $('.monthly-button').children('.orange-button').removeClass('active-button').addClass('deactive-button'); 
    } 
+0

なぜ私の答えは役に立たないのですか?確認しました。 –

0

。あなたは何もするべきではありません。それが空でなければ、完全な変数elseを完成させます。

$('.m-name').keyup(function(){monthlyButtonActive();}); 
$('.m-email').keyup(function(){monthlyButtonActive();}); 
$('.m-password').keyup(function(){monthlyButtonActive();}); 
$('.m-password-confirm').keyup(function(){monthlyButtonActive();}); 
$('.m-terms').change(function(){monthlyButtonActive();}); 

function monthlyButtonActive() 
{ 
    var m_name=0,m_email=0,m_password=0,m_password_confirm=0,m_terms=0; 
    if($('.m-name').val().length > 2){ 
     m_name=1; 
    } 
    if($('.m-email').val().length > 2){ 
     m_email=1; 
    } 
    if($('.m-password').val().length > 2){ 
     m_password=1; 
    } 
    if($('.m-password-confirm').val().length > 2){ 
     m_password_confirm=1; 
    } 
    if($('.m-terms').is(':checked')){ 
     m_terms=1; 
    } 
    if(m_name==1&&m_email==1&&,m_password==1&&m_password_confirm==1&&m_terms==1){ 
     console.log(complete); 
     console.log('its now complete'); 
     $('.monthly-button').children('.orange-button').addClass('active-button'); 
    }else{ 
     console.log(complete); 
     console.log('its not complete'); 
    } 
+0

私はちょうどしかし、それはキーアップで起こるので、もし私が名前に5文字を入力すると、5は完了し、チェックボックスがクリックされた後9になるでしょう。 – virepo

+0

更新された答えをチェックしてください。その問題を解決します。 –

関連する問題