переменная $_POST и JS
Приветствую.
В джаве я ноль, поэтому прошу не грузить терминологией :thanks: <form method="post"> <input name="submit" type="submit" class='btn' id="submit"></form> <?php if(empty ($_POST['login'])) {?> <script> document.querySelector('input.btn').onclick = function(){ swal("Password or Login incorrect!"); return false; }; </script> <?php } else {echo 'login correct';} ?> Данная ф-ия выполняет появление красивого окошка с предупреждением. Проблемка состоит в следующем... При else, все равно срабатывает скрипт и само else - echo 'login correct'; -- не срабатывает. Если убрать из функции return false, то будет тоже самое, только окошко будет появляться на миллисекунды и исчезать. Как сделать так, чтобы данная ф-ия срабатывала, согласно указанным условиям PHP? Заранее спасибо :thanks: |
Цитата:
|
Вряд ли тут помогут, ведь джаву тут мало кто знает.
|
Viral,
else выполняется, как только я вписываю любые символы, но при этом джаву-функцию надо убрать. Задумка здесь оч. простая, если логин пустой, должно вылезти окно с предупреждением, если непустой, то просто надпись 'login correct. |
Цитата:
2. Если вам нужна только проверка на пустоту - зачем вообще доводить до php: 2.1 Сейчас у элементов input появился атрибут requred указываете и браузер сам заботится о заполненности 2.2. Обработайте событие сабимита формы. И перед отправкой в js проверьте заполненость. Если все ок отправляйте, иначе выводите свое красивое окно Да и поля login что то не видно.... |
voral,
мой пример это примитивный набросок :) В оригинале, у меня в пхп-форме куча проверок, регулярки и т.д. Так вот, когда при логировании не совпадает пароль или логин, я хочу чтобы срабатывала данная функция, а не выводилось тупо в css обработке, сообщение: incorrect pass or login, хочется именно красивое окошко :yes: |
В этом приметиве заложена не понятная логика. Судя по ней: при первом обращении к скрипту на клик по кнопке вешается открытие вывода этого сообщения (empty от несуществующей переменной вроде true дает). Т.е. не зависимо от того заполнен логин или нет окно будет показано. А форма комитится не будет. ибо return false; Если убрать эту строку, то окно будет сразу заурываться т.е. пошел запрос на сервер и открывается страница по новой. У вас окно в любом случае может всплывать только после нажатия на кнопку отправить. А ваш elst должен быть только в одном случае. Вы убираете return false, заполняете поле login и отправляете форму.
Приведенный вами примитив должен быть минимально необходимым кодом требующимся для повторения ошибки. В данном случае у вас не хватает поля. Может вы его за пределами формы расположили...... |
По сути вам тут JS не нужен совсем тогда. По условию у вам просто нужно не скрипт в HTML рисовать, а прямо HTML код вашего окна, а уж css ом выводить его куда надо
|
Не поленился. Проверил. При доавлении в форму поля и убирании return false; все работает как я сказал. Если вы действительно хотите использовать js. Вам нужна толбко одна строчка (нафига вы на клик повесили?)
swal("Password or Login incorrect!"); С одним условием. Вы должны эту команду выполнить только после загрузки страницы. |
Извиняюсь, моя вина, создавая тему забыл скопировать ещё одно поле, естественно оно у меня есть :)
Вам нужна толбко одна строчка (нафига вы на клик повесили?) а как его убрать? если тупо стереть onclick = function(), то выдает ошибку. А если просто выводить,как вы предложили: swal("Password or Login incorrect!"); то скрипт не срабатывает. С одним условием. Вы должны эту команду выполнить только после загрузки страницы. это как? Я полный ноль в этом деле, так что не нужно делать круглые глаза на такие вопросы :no: |
Часовой пояс GMT +3, время: 14:55. |