Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556

Правильно построить обработчик для формы регистрации

16.01.2011, 17:01. Показов 2169. Ответов 7

Студворк — интернет-сервис помощи студентам
Привет всем.
Вот тут занимаюсь своим новым проектом, и что-то не вкурю, почему не проходит мой способ. Собственно, на словах, это будет звучать так: есть форма регистрации, и в самом низу формы существует кнопочка(div-ная), по умолчанию она скрыта, но когда пользователь набирает повторно пароль, для проверки правильности, я хочу чтобы она становилась видимой. И все работает, но только вот чтоб ее увидеть нужно нажать tab или проще говоря снять фокус с поля ввода.
Т.е. я хочу сделать так чтобы эта кнопочка свидетельствовала о правильности набранного повторного пароля. Но механизм по которому сейчас это все работает, немножечко меня не устраивает.
С jQuery я знаком недавно, так что, возможно, я что-то упустил из виду.
Ниже листинг(обрезанный). Прошу подсказки.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Регистрация</title>
    <script type="text/javascript" src="lib/jquery/jquery-1.4.4.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style/default/reg.css" />
</head>
<body>
    <div id="main" class="reg">
        <form id="registration">
            <input id="name" size="30" name="name" value="Логин"><br>
            <div id="isname"></div>
            <input id="email" size="30" name="email" value="Email"><br>
            <div id="isemail"></div>
            <input id="pass" size="30" type="password" name="password" value="Пароль"><br>
            <input id="pass1" size="30" type="password" name="password1" value="Еще раз"><br>
            <table id="buttons">
                <tr>
                    <td>
                        <div id="in" class="buttons_in">Отправить!</div>
                    </td>
                </tr>
            </table>
        </form>
    </div>
<script>
 
    //--- многа многа кода
    
    $("div#in").hide();
 
    $("input#pass1").change(function() {
        if ($("input#pass").val() == $("input#pass1").val()) {
            $("div#in").show();
            $("input#pass1").keypress(function(e) {
                if (e.which == 13) {
                    $("div#in").trigger('click');
                }
            });
        }
    });
 
});
</script>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2011, 17:01
Ответы с готовыми решениями:

Добавить обработчик кнопки для копирования содержимого формы в любом браузере
Здравствуйте, в настоящее время у меня на странице на хосте имеется код в body &lt;script type=&quot;text/javascript&quot;&gt; ...

Не вызывается обработчик формы регистрации
Есть форма регистрации &lt;form action=&quot;register.php&quot; method=&quot;post&quot; name=&quot;r_form&quot; &gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;...

Обработчик регистрации
Помогите сделать обработчик формы регистрации. Хочу сделать ajax. На данный момент часть регистрации выглядит так: case...

7
 Аватар для Sulik78
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
16.01.2011, 17:19
DenQ, используйте onkeyup
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
16.01.2011, 17:20
Правильно, onchange срабатывает, когда значение изменилось (а не когда изменяется), т.е. при уходе фокуса (хотя это может отличаться в разных браузерах).

Надо этот обработчик на несколько событий назначить (onchange, onkeydown, onkeyup, ...).
Можно через setInterval сделать примерно так:
JavaScript
1
2
3
4
var p = $('#pass'), p1 = $('#pass1'), d = $('#in');
setInterval(function(){
    d.css('display', p.val() == p1.val() ? 'block' : 'none');
}, 100);
Плюс-минус запускать/отменять setInterval/clearInterval при показе/скрытии формы авторизации.
1
 Аватар для Sulik78
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
16.01.2011, 17:33
извеняюсь keyup
jquery

всмысле вместо keypress

Добавлено через 10 минут
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Надо этот обработчик на несколько событий назначить (onchange, onkeydown, onkeyup, ...).
а зачем же так много разве onkeyup не хватит?
обработчик будет обрабатываться сразу после того как клавиша была отпущена
мне всегда хватало
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
16.01.2011, 17:36  [ТС]
Ребят мне кажется вы меня немного неправильно поняли, проблема не в 36 строке, а в 33-34 строках. Либо я плохо вас понял. Уж даже не знаю.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
16.01.2011, 17:41
DenQ, onchange() на строке 33 в принципе срабатывает только при уходе фокуса после завершения изменения, а не при каждом изменении.
0
 Аватар для Sulik78
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
16.01.2011, 17:42
DenQ, так можно и там использовать keypress
1
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
16.01.2011, 17:53  [ТС]
keyup и все решилось

JavaScript
1
2
3
4
5
6
7
8
9
10
    $("input#pass1").bind("keyup change",function() {
        if ($("input#pass").val() == $("input#pass1").val()) {
            $("div#in").show();
            $("input#pass1").keyup(function(e) {
                if (e.which == 13) {
                    $("div#in").trigger('click');
                }
            });
        }
    });

Добавлено через 1 минуту
Цитата Сообщение от Sulik78 Посмотреть сообщение
так можно и там использовать keypress
Нет, пробовал.

Добавлено через 5 минут
Надо будет узнать по подробней в свободное время об особенностях этих методов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2011, 17:53
Помогаю со студенческими работами здесь

Как создать обработчик для button и правильно его вызвать?
aspx генерирует html с множеством кнопок, кнопки создаются через &lt;button&gt;&lt;/button&gt;. как можно обработать нажатие этих кнопок?

Не работают языковые файлы для формы регистрации.
Всех приветствую. Господа уменя такая проблема. Кидаю настраницу форму регистрации и копирую её шаблон в папку дефолт. В языковые фалы...

Создание полей для формы регистрации на php
Есть у меня локальный сайт не cms а чисто html js php и css! и я застрял на 1 месте есть у меня форма регистрации! и я туда добавил поля...

Обработчик для формы поиска, подскажите. запутался.
Доброго времени суток! Прошу помощи в следующем деле. Есть страница поиска по БД. Выкладываю полностью (ниже по частям) &lt;!DOCTYPE...

Как называется сайт из 25 страниц и формы для регистрации
3 - 5 страниц - сайт визитка А если 25 страниц - то это уже как называется? Или скажем 25 страниц + форма для логина и регистрации, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru