Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 3

Валидация формы

10.09.2015, 06:50. Показов 1070. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Имеется скрипт при заполнении формы с полями ( имя, телефон, адрес). Если какое либо поле не заполнено или заполнено не правильно, то должно выйти оповещение "заполните все поля". Но суть в другом, я даже могу и не заполнять поля а форма все равно отправится, подскажите в чем может быть причина?

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
$(document).ready(function() {
 
    $('#mysend').click(function() {
        if ($('#email').val() == "" && $('#myname').val() != "Ваше имя..." && $('#myphone').val() != "Ваш номер телефона..." && $('#mytext').val() != "Адрес. Индекс, город, улица, дом, квартира...") {
            document.getElementById('form').submit();
        }  else {
            alert("Необходимо заполнить все поля!");
        }
    });
 
    $('#mysend1').click(function() {
        if ($('#email1').val() == "" && $('#myname1').val() != "Ваше имя..." && $('#myphone1').val() != "Ваш номер телефона..." && $('#mytext1').val() != "Адрес. Индекс, город, улица, дом, квартира...") {
            document.getElementById('form1').submit();
        } else {
            alert("Необходимо заполнить все поля!");
        }
    });
 
    $('#mysend2').click(function() {
        if ($('#email2 ').val() == "" && $('#myname2').val() != "Ваше имя..." && $('#myphone2').val() != "Ваш номер телефона..." && $('#mytext2').val() != "Адрес. Индекс, город, улица, дом, квартира...") {
            document.getElementById('form2').submit();
        } else {
            alert("Необходимо заполнить все поля!");
        }
    });
 
    $('#mysend3').click(function() {
        if ($('#email3').val() == "" && $('#myname3').val() != "Ваше имя..." && $('#myphone3').val() != "Ваш номер телефона..." && $('#mytext3').val() != "Адрес. Индекс, город, улица, дом, квартира...") {
            document.getElementById('form3').submit();
        } else {
            alert("Необходимо заполнить все поля!");
        }
    });
    
    $('#mysend4').click(function() {
        if ($('#email4').val() == "" && $('#myname4').val() != "Ваше имя..." && $('#myphone4').val() != "Ваш номер телефона..." && $('#mytext4').val() != "Адрес. Индекс, город, улица, дом, квартира...") {
            document.getElementById('form4').submit();
        } else {
            alert("Необходимо заполнить все поля!");
        }
    });
 
        });
 
 
$(function(){
    
    var myDate = new Date ();
 
    var note = $('#note'),
        
        ts = new Date(myDate.getFullYear(), myDate.getMonth(), myDate.getDate()+7); //,
        //ts = myDate.setDate(tmpdate),
        //newYear = true;
    
    if((new Date()) <= ts) { ts = new Date(myDate.getFullYear(), myDate.getMonth(), myDate.getDate()+7); }
 
 
//  if((new Date()) > ts){
//      ts = (new Date()).getTime() + 7*24*60*60*1000;
//      newYear = false;
//  }
        
    $('#countdown').countdown({
        timestamp   : ts,
        callback    : function(days, hours, minutes, seconds){
            
            var message = "";
            
            message += "Дней: " + days +", ";
            message += "часов: " + hours + ", ";
            message += "минут: " + minutes + " и ";
            message += "секунд: " + seconds + " <br />";
            
            note.html(message);
        }
    });
$('#countdown-1').countdown({
        timestamp   : ts,
        callback    : function(days, hours, minutes, seconds){
            
            var message = "";
            
            message += "Дней: " + days +", ";
            message += "часов: " + hours + ", ";
            message += "минут: " + minutes + " и ";
            message += "секунд: " + seconds + " <br />";
            
            note.html(message);
        }
    });
    
    $('#countdown-2').countdown({
        timestamp   : ts,
        callback    : function(days, hours, minutes, seconds){
            
            var message = "";
            
            message += "Дней: " + days +", ";
            message += "часов: " + hours + ", ";
            message += "минут: " + minutes + " и ";
            message += "секунд: " + seconds + " <br />";
            
            note.html(message);
        }
    });
    $('#countdown-3').countdown({
        timestamp   : ts,
        callback    : function(days, hours, minutes, seconds){
            
            var message = "";
            
            message += "Дней: " + days +", ";
            message += "часов: " + hours + ", ";
            message += "минут: " + minutes + " и ";
            message += "секунд: " + seconds + " <br />";
            
            note.html(message);
        }
    });
    
});
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2015, 06:50
Ответы с готовыми решениями:

Валидация формы
Здравствуйте. У меня есть простая форма с двумя полями. Если поля не заполнены, то форма отправляться не должна. Сделал это вот так: ...

Валидация формы
всем доброго времени суток. столкнулся с такой проблемой - нужно проверить на валидность данные, введенные пользователем. необходимо...

Валидация формы
Здравствуйте в JS есть два условия - если радиобаттон не выбран, то форма не отправляется и выводится текст с ошибкой. Но если...

3
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
10.09.2015, 07:25
без HTML-кода формы нам всем придётся угадывать - на какой же тег с id="mysend" вы "навесили" вашу функцию, запускаемую по клику

предположу, что это либо <input type="submit">, либо <button></button>

если угадал, то подсказываю способ излечения -- "навесьте" функцию на любой другой тег, кроме как раз этих двух, мною выше написанных, например, на <input type="button">

PS. и, на будущее - если используете jquery, то за помощью обращайтесь в специальный подраздел https://www.cyberforum.ru/javascript-jquery/, там побыстрее помогут
1
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 3
10.09.2015, 07:47  [ТС]
HTML код таков... и так для каждой формы, только цифры меняются в "mysend2".

HTML5
1
2
3
4
5
6
7
8
 <div class="order-form" id="order-form2">
                    <h2>Заказать Emporio Armani</h2><form action="mail.php" method="post" id="form2">
                    <input class="mynameinput" name="name" id="myname2" type="text" placeholder="Имя..." value="Имя..." onfocus="clearText(this)" onblur="clearText(this)" />
                    <input class="myphoneinput" name="phone" id="myphone2" type="text" placeholder="Ваш номер телефона" value="Ваш номер телефона..." onfocus="clearText(this)" onblur="clearText(this)" />
                    <input id="email2" class="email" type="text" />
                    <input name="product" id="product2" value="Товар 2: Emporio Armani" type="hidden" />
                    <input name="mytext" id="mytext2" type="text" placeholder="Адрес. Индекс, город, улица, дом, квартира..." value="Адрес. Индекс, город, улица, дом, квартира..." onfocus="clearText(this)" onblur="clearText(this)" />
                    <input id="mysend2" type="button" value="Заказать сейчас" /></form>
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
10.09.2015, 10:06
и HTML-код, и скрипт проверки у вас очень странные

1) например, в поле для ввода имени <input id="myname2"> у вас изначально прописано value="Имя..."
т.е.если юзер не будет заполнять это поле (и не будет кликать по нему), то в нём по идее должна так и остаться строка "Имя..."

вы же в скрипте почему-то значение этого поля сравниваете со строкой "Ваше имя..." , т.е. это ваше условие $('#myname2').val() != "Ваше имя..." всегда вернёт true


2) далее... почитайте -- для чего нужен атрибут placeholder?

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

3) ну и, наконец, очень странно видеть на одной странице одновременное применение двух разных способов "навески" функций -- на поля ввода функцию clearText () прописываете внутри тега, а на кнопку отправки - в скриптовом блоке по загрузке страницы... чем кнопка лучше (или хуже) полей ввода?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2015, 10:06
Помогаю со студенческими работами здесь

Валидация полей формы
Вечер добрый, требуется помощь. Ниже код, с простой валидацией полей формы, где кнопка &quot;submit&quot; становится активной после...

Валидация формы на Javascript
Всем привет!:) Необходимо доработать форму с валидацией. Для выбора даты и времени тег &lt;input&gt; с типом &quot;date&quot;,...

Валидация элементов формы
Всем привет, в Js не силен, подскажите пожалуйста есть код - проверка на заполненность radio - кнопки function ISchecked(name) { ...

Валидация формы из обработчика onclick
Почему не работает даный код? &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;title&gt;Document&lt;/title&gt; ...

Валидация формы (дата рождения)
Приветствую, пытаюсь при выборе месяца и года вычислить максимальное количество дней в месяце/году. &lt;select...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru