Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Аквтивность неактивность кнопки по тексту формы


Автор: rusianvodka 20.6.2013, 03:48
Здравствуйте, суть вопроса: имеется 2-а поля.
Логин и Пароль.
Плюс кнопка входа.
Хотелось бы чтобы  пока поля пустые, кнопка неактивна, как только введён текст в эти поля больше чем 3-и символа в каждое поле, кнопка становится активной.
Вот что я нагуглил набросал, но к сожалению не работает....(
 Буду благодарен вашим наставлениям и исправлениям.

Код


<script type="text/javascript">
    //Код, выполняемый всегда
    var usr=document.getElementById('user').value;
    var pas=document.getElementById('password').value;
    if((usr.length < 3) && (pas.length < 3)) 
    {
        document.getElementById('button').disabled=true;
    } else 
        document.getElementById('button').disabled=false;
    
    //Проверка полей
    function checkFields(form){
        if(form.name!="login") return false;
        var usr=form.elements['usr'].value;
        if(usr==''){
            alert('Имя не может быть пустым');
            form.elements['usr'].focus();
            return false;
        }
        return true;
    }
</script>


<form class="forma" action="" method="POST" name="login" onSubmit="return checkFields(this)">
    <table border=0>
    <tr>
        <td>
            <b>Имя:</b>
        </td>
        <td>
            <input type="text" name="usr" id="user">
        </td>
        <tr>
        <td>
            <b>Пароль:</b>
        </td>
        <td>
            <input type="password" name="passwd" id="password">
        </td>
        <tr>
        <td colspan="2">
            <input type="submit" value="Войти" name="but" id="button">
        </td>
    </table>
</form>



Автор: rusianvodka 20.6.2013, 13:52
Буду рад любым подсказкам и ответам!)

Автор: Arantir 20.6.2013, 14:07
Конечно не работает. Как может возникнуть onSubmit, если кнопка сабмита отключена?

Попробуйте использовать ивент onchange на полях.

Добавлено через 4 минуты и 25 секунд
Код

    //Код, выполняемый всегда
    var usr=document.getElementById('user').value;
    var pas=document.getElementById('password').value;
    if((usr.length < 3) && (pas.length < 3)) 
    {
        document.getElementById('button').disabled=true;
    } else 
        document.getElementById('button').disabled=false;
Что это должно означать? Этот код выполняется один раз - при загрузке страницы. Тут поля всегда буду пусты.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)