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

alena1988

Пользователь
Регистрация
12.07.15
Сообщения
5
Реакции
0
Баллы
1
Адрес
Болхов
Здравствуйте,

Я написал код проверки формы в javascript, он отлично работает на Register.php.

В index.php я загрузил Register.php в div через ajax. Когда я пытаюсь отправить пустую форму, код проверки формы не работает. И Register.php исчезнет из контейнера div.

Я хотел бы сказать, что когда я отправляю пустую форму, она не исчезает из контейнера div, пока я не заполню значение и не нажму кнопку отправки.
Мой программный код написан ниже. Если кто-нибудь мне поможет, то я буду очень доволен им/ней.

Регистрация.php


$page=$_SERVER['SCRIPT_NAME'];
if(isset($_POST['username']) && !empty($_POST['username'])){
эхо «ОК»;
}
?>

<тип сценария="текст/javascript">


проверка функции(){
if(document.getElementById('username').value == ""){
document.getElementById('username').style.borderColor="red";
вернуть ложь;
}
}



Ваше имя:


Я хотел бы сказать, что когда я отправляю пустую форму, она не исчезает из контейнера div, пока я не заполню ее.
Индекс.php

<тип сценария="текст/javascript">

функция загрузки(){
если (окно.XMLHttpRequest) {
xmlHttp = новый XMLHttpRequest ();
}
еще{
xmlHttp = новый ActiveXObject('Microsoft.XMLHTTP');
}
xmlHttp.onreadystatechange= функция(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
document.getElementById('контейнер').innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open('GET','register.php', true);
xmlHttp.send(); }


зарегистрироваться





<стиль>
#контейнер{
ширина: 350 пикселей;
отступ: 40 пикселей;
цвет фона: бежевый;
}
 

NSK1

Пользователь
Регистрация
25.11.13
Сообщения
2
Реакции
0
Баллы
1
Эй, Саджи, порядок твоих файлов немного сбивает с толку. Я не уверен, кто из них кому звонит.
Насколько я понимаю, вам нужно следующее

форма в основном Index.php ---> submit --> функция Javascript для проверки формы на наличие пустых полей
--> 1) Если пустой скрипт выводит сообщение об ошибке (здесь не требуется HTTP-запрос или PHP, может быть, окно сообщения Javascript?), просто остановитесь здесь

--> 2)) если не пусто (проверено функцией javascript) --> это вызывает функцию с httprequest
--> httprequest в собственном div отправляет информацию в Register.php
который делает что-то еще ДАННЫЕ, ПРЕДСТАВЛЕННЫЕ ЗДЕСЬ.

Теперь проблема в том, хотите ли вы, чтобы все было на одной странице, поэтому HTTP-запрос?
Потому что наличие формы немного сбивает с толку, потому что она еще не была вызвана
Я бы предпочел, чтобы у вас было два элемента div: один для формы и один для HTTP-запроса для отображения файла Register.php. И команда javascript, чтобы элемент div формы исчезал, поскольку в центре внимания здесь находится файл Register.php.

Это звучит как лучшая идея? Конечно, для этого необходимо включить JavaScript.
 

Morfeey

Пользователь
Регистрация
09.10.15
Сообщения
2
Реакции
0
Баллы
1
Возможно, оно не исчезнет, если вы сообщите скрипту, что делать, если имя пользователя пусто?
В вашем файле Register.php см. ниже:
Код:
$page=$_SERVER['SCRIPT_NAME'];
if(isset($_POST['username']) && !empty($_POST['username'])){ echo 'OK';
}
else{
}
PHP:
 

Pr0fesoR

Пользователь
Регистрация
24.09.13
Сообщения
3
Реакции
0
Баллы
1
Когда напрасно и бессмысленно усложнять самую простую вещь (форму обратной связи) скрипттардерами? Чертов прямо Скиппи!

Здесь вступает в силу неписаное правило JavaScript: Если вы не можете создать рабочую страницу без JavaScript FIRST, вам, скорее всего, нечего добавлять к ней скрипты!

Хороший сценарий должен улучшать рабочую страницу, а не заменять его или, что еще хуже, быть единственным средством обеспечения функциональности... и ВСЕ, что вы тратите время на проверку скриптов на стороне клиента, ВСЕ ЕЩЕ должно быть проверено снова на стороне сервера, так почему же **** заморачиваетесь с проверкой на стороне клиента? Гораздо меньше со сценариями, когда современные браузеры имеют очень хороший атрибут «обязательный». Устаревшие браузеры прибегают к проверке на сервере, ХОРОШО!

Я бы переписал, но, учитывая то, что было показано, это непонятная тарабарщина и НЕ то, как я вообще пытался бы подойти к созданию чего-то подобного.
 

simpsonman

Пользователь
Регистрация
25.01.11
Сообщения
4
Реакции
0
Баллы
1
Могу я просто спросить, зачем вы все усложняете?

Создайте ОДИН файл с формой. Отправьте содержимое этой формы в файл обработки php. Эта обработка должна проверить, пуста ли форма, и если да, вернуть пользователю ошибку, поскольку пользователь может отключить JavaScript.

Чтобы улучшить это, вы можете сделать много вещей, чтобы избежать отправки формы с помощью javascript - вы можете отключить кнопку отправки до тех пор, пока во вводе имени пользователя не появится фактическое содержимое, вы можете проверить входные данные на наличие разрешенных значений, прежде чем разрешить отправку форма (через ajax) и так далее и так далее.

Но то чудовище, которое у вас там, слишком сложное и никуда не годное.
 
Сверху Снизу