Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Grep1994
3 / 3 / 1
Регистрация: 26.12.2013
Сообщений: 286
1

Работает только одно условие валидации из трёх. Почему?

12.02.2018, 21:13. Просмотров 176. Ответов 0
Метки нет (Все метки)

Суть в том, чтобы при заполнении поля выводилось сообщение: всё ок, заполните поле, занято.

Ничего не работает, кроме "заполните" поле. При вводе какого-либо значения - не удаляется класс у span и не добавляется/изменяется у класса input (к примеру, login)

Помогите найти ошибку.

Функция:
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
function check(inputID) {
            $(inputID).focus(function() {
                $(inputID).removeClass().next().empty();
            });
 
            $(inputID).blur(function() {
                var data = $(inputID).val();
                var name = $(inputID).attr('name');
                if (data !== '') {
                    $.ajax({
                        url: 'check.php', 
                        type: 'POST', 
                        data: {data: data, check: name},
                        success: function(result) {
                            if(result === 'yes'){
                                $(inputID).removeClass().addClass('ok').next().text('Всё ок').removeClass().addClass('ok');
                            }else if (result === 'no'){
                                $(inputID).removeClass().addClass('error').next().text('занят!').removeClass().addClass('error');
                            }
                        },
                        error: function() {
                            $(inputID).next().text('Произошла ошибка!'); 
                        }
                    });
                } else {
                    $(inputID).removeClass().addClass('empty').next().text('Заполните поле').removeClass().addClass('error'); 
                }
            });
        }
 
        $(document).ready(function() {
            check("#login");
            check("#email");
        });
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
  <form>
    <label for="login">Логин:</label>
      <input type="text" name="login" id="login"><span></span>
    <br>
    <label for="pass">Пароль:
        <input type="password" name="pass" id="pass">
    </label>
    <br>
      <label for="email">Почта:
          <input type="text" name="email" id="email"><span></span>
      </label>
    <br>
  </form>
Добавлено через 22 часа 49 минут
Проблема была в файле check.php. Было лишнее else.
SQL
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
$link = mysqli_connect('localhost','root','','onlineForm')
OR die('ERROR! No connect to DataBase');
 
 
IF($_POST['check'] == 'login'){
  $login = mysqli_real_escape_string($link,TRIM($_POST['data']));
  $query = "SELECT login FROM users WHERE login='$login' LIMIT 1";
  $result = mysqli_query($link,$query) OR die (mysqli_error($link));
  IF(mysqli_num_rows($result)){
    echo 'no';
  }ELSE{
    echo 'yes';
  }
}
 
IF($_POST['check'] == 'email'){
  $login = mysqli_real_escape_string($link,TRIM($_POST['data']));
  $query = "SELECT email FROM users WHERE email='$email' LIMIT 1";
  $result = mysqli_query($link,$query) OR die (mysqli_error($link));
  IF(mysqli_num_rows($result)){
    echo 'no';
  }ELSE{
    echo 'yes';
  }
}
Вопрос решён. Тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2018, 21:13
Ответы с готовыми решениями:

FormData() - progress работает только в FireFox, почему?
Казалось бы простой код для загрузки, но прогресс отображается только в браузере FireFox, почему...

Почему работает только одна форма из двух?
Помогите, пожалуйста, сам я в javascript понимаю слабо. Сделал две аналогичных формы, запускаемых...

Почему выполняется условие else, если выполнилось условие if?
При вводе буквы, которое есть в переменной word, по идеи, если такой буквы нету, то должно выдать...

Кроссбраузерность обработки кода или почему мой код работает только в Chrome ?
Доброго времени суток! есть у меня вот такой вот код &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; ...

Верно ли что только одно из трёх чисел положительное
Задача заключается в следующем: if (только одно из чисел X, Y, Z является положительным) then...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2018, 21:13

Выполняется только одно условие в программе
День добрый! Учу с++ неделю. Задача - написать программу для вычислений значения функции. С...

Код отражает только одно условие
var bool:Boolean; procedure TForm1.Graphic1Click(Sender: TObject); begin if bool = true then...

Проверка на число: Одно и то же условие работает в случае numchar, но не работает с xchar и ychar
Помогите ламеру с ламерской программкой. В тестирующей функции запрашиваются три строки numchar,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru