2016-03-10 3 views
0

Я пытаюсь добавить новый класс к вводу «submit» после проверки того, что другие элементы формы заполнены. Я использую .keyup() для запуска функции. Эта функция изменяет свойство «disabled» на «false», но после этого не добавляет класс «импульс анимации». Благодаря!jQuery Метод AddClass не работает

<script> //checks that all fields are completed before enabling submit button 
    $(document).ready(function() { 
    $('input[type="submit"]').prop('disabled', true); 
    $('input[type="text"],input[type="email"],input[type="password"]').keyup(function() { 

     if($('#log_password').val() != '' && $('#log_email').val() != '') { 
     $('input[type="submit"]').prop('disabled', false).addClass("animated pulse"); 
     } 
     else{ 

     $('input[type="submit"]').prop('disabled',true); 

     } 
    }); 
    }); 
    </script> 

ответ

0

Добавить отдельно в addclass()

$(document).ready(function() { 
    $('input[type="submit"]').prop('disabled', true); 


    $('input[type="text"],input[type="email"],input[type="password"]').keyup(function() { 

    if($('#log_password').val() != '' && $('#log_email').val() != '') 
    { 
     $('input[type="submit"]').prop('disabled', false); 
     //add in next line 
    $('input[type="submit"]').addClass('animated pulse'); 
    } 
    else{ 

    $('input[type="submit"]').prop('disabled',true); 

    } 
    }); 
}); 
+0

Работал большое спасибо. –

1

Ваша проблема заключается в том, как вы используете функцию prop() так как эта функция не возвращает ничего, а функция addClass() должна быть вызвана из jQuery объекта.

Как вы можете видеть на prop Defintion он говорит:

Возвращает: Все, что

Эта практика называется Цепной и для того, чтобы сделать Цепной функции эти функции должны возвращать JQuery Объект.

More info

Вы можете переписать строку кода что-то вроде этого:

$('input[type="submit"]') 
    .addClass('animated pulse') 
    .prop('disabled', false); 
+0

Эй @ ManoloHernándezKuri Я только что созданный где вы можете видеть, что это работает: https://jsfiddle.net/mitogh/8zqu4t 7o/если вы проверите класс кнопки, теперь у него есть два новых класса, это может привести к логической проблеме. –