Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
1

Отменить отправку формы

27.12.2013, 21:37. Показов 3922. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте
есть форма
PHP
1
2
3
4
5
6
7
8
9
10
echo("<div id='input_form'>");//2
echo("<form name='input_form' action='modules/input.php' method='post'>");
echo ("<span class='red' id='nick_or_password_error'></span>");
echo("<input class='input_text' id='nick_input' name='nick_name' placeholder='nick name' value='' type='text'>");
echo("<input class='input_text' id='password_input' name='password' type='password' placeholder='password'>");
echo "<img class='captcha' id=\"captcha_input\" src='modules/captcha.php' onClick='upgatecaptcha()' alt='capcha' title='Обновить'>";
echo ("<span class='red' id='captcha_error'></span>");
echo ("<input class='input_text' id='captcha_input' type='text' name='captcha' autocomplete=\"off\" placeholder='captcha code'>");
echo("<input id='inp_butt' type='submit' name='inp_b' value='Войти' onSubmit=\"goinput()\">");
echo("</form>");
и функция проверяющая ее данные перед отправкой
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
function goinput()
{
    nick = document.getElementById('nick_input');
    password = document.getElementById('password_input');
    captcha = document.getElementById('captcha_input');
    re1 = /^[a-z0-9-_]+$/i;
    re2 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/i;
    if((re1.test(nick.value) || re2.test(nick.value)) && password.value.length>4)
    {
        a1=1;
    }
    else
    {
       a1=2;
        cliner();
        return false;
    }
    if(a1==1)
    {
        $.post("modules/input.php",{nick:nick.value,password:password.value,captcha:captcha.value,param:1},function Success(data){
           if(data.in==2)
           {
               cliner();
               return false;
           }
            if(data.in==3)
            {
                var texterrorid=$('#captcha_input');
                $(texterrorid).text("Неверный код с картинки.");
                return false;
            }
        },"json");
        return false;
    }
    else
    {
        return false;
    }
}
Но отправка не прерывается(много ретурнов насовал потому, что уже не знаю где и ка надо) Подскажите в чем проблема. Спасибо.


Добавлено через 22 часа 46 минут
ауу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2013, 21:37
Ответы с готовыми решениями:

Запретить отправку формы
Хочу запретить отправку формы на сервер, если поле пустое. alert выскакивает на экране, но когда...

Предотвратить отправку формы
Сделала простой скрипт проверки ввода пароля function passcontrol() { var password1 =...

Как запретить отправку формы ?
Пишу так не выходит &lt;input type=&quot;submit&quot; onclick=&quot;otpravka() return false&quot; name=&quot;otpravka&quot;&gt;...

Починить повторную отправку формы в ulogin
Нужно убрать повторную отправку формы, при попытке вернуться на предыдущую страницу браузер выдает...

15
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 21:50 2
SanychBY, приведите код в читабельный вид, поэтому все и молчат.

Добавлено через 1 минуту
Нужно использовать имена переменных, идентификаторы, классы (последнее про верстку) со смыслом. К JS-коду те же самые требования. Поэтому Вы и запутались.
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 21:58  [ТС] 3
Цитата Сообщение от Razip Посмотреть сообщение
SanychBY, приведите код в читабельный вид, поэтому все и молчат.
куда читабельние?

Добавлено через 1 минуту
Редактор пишет, что функция goinput возвращает не правильное значени

Добавлено через 55 секунд
This inspection reports any instances of JavaScript functions which return a value in some circumstances and return without a value in others. While legal, such code almost certainly represents a programming error
вот

Добавлено через 4 минуты
HTML5
1
2
3
4
5
6
7
8
<form name='input_form' action='modules/input.php' method='post'>
<span class='red' id='nick_or_password_error'></span>
<input class='input_text' id='nick_input' name='nick_name' placeholder='nick name' value='' type='text'>
<input class='input_text' id='password_input' name='password' type='password' placeholder='password'>
<img class='captcha' id="captcha_input" src='modules/captcha.php' onClick='upgatecaptcha()' alt='capcha' title='Обновить'>
<span class='red' id='captcha_error'></span>
<input class='input_text' id='captcha_input' type='text' name='captcha' autocomplete="off" placeholder='captcha code'>
<input id='inp_butt' type='submit' name='inp_b' value='Войти' onSubmit="goinput()"></form>
Razip, специально для Вас
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:00 4
SanychBY, можно прям целиком эту часть (файлами)? Протестирую на локальной машине.

Добавлено через 27 секунд
SanychBY, я не это имел ввиду.

Добавлено через 1 минуту
a1, data.in — что делают эти переменные?
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:04  [ТС] 5
Цитата Сообщение от Razip Посмотреть сообщение
a1
определяет валидность ника или эмейла
Цитата Сообщение от Razip Посмотреть сообщение
data.in
ответ от сервера в формате json. Если data.in==2 - неверный пароль или логин. Если data.in==3 неверный код с капчи

Добавлено через 1 минуту
data.in==1 все верно и переходим на файл input.php(он же и проверяет ник, пароль, капчу) для залогинивания.
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:06 6
Так, стоп. Вам нужно чтобы не срабатывала отправка обычная, не-Ajax?

Добавлено через 17 секунд
В таком случае можно ставить return false в конце обработчика.
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:10  [ТС] 7
Цитата Сообщение от Razip Посмотреть сообщение
В таком случае можно ставить return false в конце обработчика.
надо выполнить return false если при ajax пришло 2 или 3

Добавлено через 1 минуту
Черт! Событие на форму нужно вешать, а не на кнопку!!!!!
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:10 8
SanychBY, Вы ощущаете разницу между return false в функции и обработчике? Вам нужно останавливать HTML-отправку или возвращать false в качестве результата функции?
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:13  [ТС] 9
если капча верна и логин и пароль верны то отправляем
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:16 10
Буду телепатом. Возможное решение проблемы (нужно добавить атрибут onsubmit к form с таким содержанием):

HTML5
1
<form name='input_form' action='modules/input.php' method='post' onsubmit='goinput(); return false;'>
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:20  [ТС] 11
Цитата Сообщение от SanychBY Посмотреть сообщение
Черт! Событие на форму нужно вешать, а не на кнопку!!!!!
Это я уже понял.Но все равно отправляется

Добавлено через 2 минуты
алерт выскакивает, но событие отправляется

Добавлено через 24 секунды
да при простом примере как Вы привели
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:29 12
SanychBY, все, я в край запутался. Под ночь мозг не варит.
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:32  [ТС] 13
Razip, начнем с самого малого. задача просто отменить отправку формы
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:40 14
SanychBY, разве что завтра. Мне спать пора.
1
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
27.12.2013, 22:42  [ТС] 15
Razip, ok=)
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
27.12.2013, 22:50 16
SanychBY, а теперь распишите подробно суть вопроса (учитесь вводить в суть темы людей, хороший навык). Завтра прочту.
0
27.12.2013, 22:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2013, 22:50
Помогаю со студенческими работами здесь

Как запретить отправку формы, если какое-то условие не выполнено?
Как запретить отправку формы, если какое-то условие не выполнено (заполнены не все поля и т.п.) Я...

Как сделать отправку формы без перезагрузки страницы с получением ответа
Добрый день, уважаемые форумчане. В javascript и ajax разбираюсь крайне плохо и прошу помочь. Нужно...

Запрет на отправку
Не отрабатывает return false, и отправляет форму, в чем может быть дело? &lt;script...

Не получается перехватить отправку формы
Добрый. В 2х словах: есть сайт, над которым работало и работают разные спецы, есть страница в...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru