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

  • Автор темы alena1988
  • 246
  • Обновлено
  • 15, May 2024
  • #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";
вернуть ложь;
}
}

Ваше имя:

Индекс.php

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

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

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

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

alena1988


Рег
12 Jul, 2015

Тем
1

Постов
5

Баллов
15
  • 18, May 2024
  • #2
Эй, Саджи, порядок твоих файлов немного сбивает с толку. Я не уверен, кто из них кому звонит.

Насколько я понимаю, вам нужно следующее

форма в основном 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.
 

NSK1


Рег
25 Nov, 2013

Тем
0

Постов
2

Баллов
2
  • 06, Jun 2024
  • #3
Возможно, оно не исчезнет, если вы сообщите скрипту, что делать, если имя пользователя пусто? В вашем файле Register.php см. ниже:
 $page=$_SERVER['SCRIPT_NAME'];
if(isset($_POST['username']) && !empty($_POST['username'])){

echo 'OK';
}
else{

//what to do if username is empty?
}
PHP:
 

Morfeey


Рег
09 Oct, 2015

Тем
1

Постов
2

Баллов
12
  • 13, Jun 2024
  • #4
Когда напрасно и бессмысленно усложнять самую простую вещь (форму обратной связи) скрипттардерами? Чертов прямо Скиппи! Здесь вступает в силу неписаное правило JavaScript: Если вы не можете создать рабочую страницу без JavaScript FIRST, вам, скорее всего, нечего добавлять к ней скрипты! Хороший сценарий должен улучшать рабочую страницу, а не заменять его или, что еще хуже, быть единственным средством обеспечения функциональности.



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

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

Pr0fesoR


Рег
24 Sep, 2013

Тем
1

Постов
3

Баллов
13
  • 16, Jun 2024
  • #5
Могу я просто спросить, зачем вы все усложняете? Создайте ОДИН файл с формой.

Отправьте содержимое этой формы в файл обработки php.

Эта обработка должна проверить, пуста ли форма, и если да, вернуть пользователю ошибку, поскольку пользователь может отключить JavaScript.



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

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

simpsonman


Рег
25 Jan, 2011

Тем
1

Постов
4

Баллов
14
Тем
49554
Комментарии
57426
Опыт
552966

Интересно