Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2

Формы, не понятно почему отправляется post-запрос

04.05.2015, 19:40. Показов 2226. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот у меня есть код:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<head>
    <style type="text/css">
        .style1
        {
            font-size: xx-small;
        }
        .bad
        {
            color:Red;
        }
        .good
        {
            color:Green;
            }
        
    </style>
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
    <script type="text/javascript">
function formchange(){
    var logform = document.getElementById('logform');
    var regform = document.getElementById('regform');
    if(logform.style.display == "none"){
        logform.style.display = "block";
        regform.style.display = "none";
    }else{
        logform.style.display = "none";
        regform.style.display = "block";
        }
                    }
 function validate_form2(){
 var inp1 = document.regform.slogin;
 var inp2 = document.regform.Password1;
 var inp3 = document.regform.Password2;
 var inp4 = document.regform.email;
 var uh1 = document.regform.uh1;
 var uh2 = document.regform.uh2;
 var uh3 = document.regform.uh3;
 var uh4 = document.regform.uh4;
      if(inp1.value == ""){
           uh1.class = 'bad';
           return false;
      }else{uh1.class = 'good';}
      if(inp2.value == ""){
           uh2.class = 'bad';
           return false;
      }else{uh2.class = 'good';}
      if(inp3.value == ""){
           return false;
           uh3.class = 'bad';
      }else{uh3.class = 'good';}
      if(inp4.value == ""){
           uh4.class = 'bad';
           return false;
      }else{uh4.class = 'good';}
 }         
</script>
</head>
HTML5
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
<form onsubmit="return validate_form()" action="regform.php" class="regform" id="logform" name="logform" method="post" style="display:block">
<h3>Авторизация</h3>
логин:<br />
<input class="inputtxt" id="inplogin" name="inplogin" type="text" /><br />
пароль:<br />
<input class="inputtxt" id="pass" name="pass" type="password" onclick="return Password1_onclick()" /><br />
<input class="regformbttn" id="login" type="submit" value="Войти" /><input class="regformbttn" id="register" 
    type="button" value="Регистрация" onclick="formchange()" /></form>
    
<form onsubmit="return validate_form2();" action="regform.php" style="display:none" class="regform" id="regform" method="post">
<h3>Регистрация</h3>
<span name="uh1">придумайте логин:</span><br />
<input id="slogin" name="slogin" type="text" /><br />
<span name="uh2">придумайте пароль:</span><br />
<input id="Password1" name="Password1" type="password" /><br />
<span class="style1">*пароль может состоять только из 
символов A-Z,a-z,А-Я,а-я,0-9
<br />
</span>
<span name="uh3">повторите пароль:</span><br />
<input id="Password2" name="Password2" type="password" /><br />
<span name="uh4">введите ваш e-mail</span><br />
<input id="email" name="email" type="text" /><br />
&nbsp;<span class="style1"><a>(на него будет выслано письмо для 
подтверждения аккаунта)</a></span><br />
<input id="selllreg" name="sellreg" type="submit" value="Отправить" /><input id="btologform" 
    type="button" value="Назад" onclick="formchange()"/></form>
при не заполнении 2-й формы post-запрос не должен уходить. А он уходит где я намудрил?
*все 3 куска в одном файле, а сам файл инклудится в другой
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2015, 19:40
Ответы с готовыми решениями:

Почему на отправляется запрос json?
Вписал текст в поле и запросом добавил в БД, но почему-то не срабатывает, не выдает alert. Помогите, в чем дело? &lt;h2&gt;Форма...

Не отправляется POST-запрос
Всем привет! Народ, есть у меня страница: http://photoowl.ru/test/ - калькулятор автокредита В общем после того, как пользователь...

Отправляется пустой POST запрос AJAX
Вот код самой отправки формы, все перепробовал!!!((( $('#reglog').focusout(function (){ $.ajax({ type:'POST', ...

23
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.05.2015, 19:45
А что такое document.regform ?

Добавлено через 1 минуту
И еще от вашего кода я глаза сломал, быдлокод во всём его проявлении
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 19:48  [ТС]
vovandr, ну блин, только залез в веб-программирование, на С# все очень красиво получается, а тут я прям не знаю что делать...

Добавлено через 1 минуту
обращение к форме, как здесь
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.05.2015, 19:49
если на c# прогаете, то не верится, что тут такое выдаете Ответа не получил
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 19:50  [ТС]
vovandr,
Цитата Сообщение от danyasworld Посмотреть сообщение
обращение к форме, как здесь
эм... я ответил
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.05.2015, 19:51
На том сайте (не очень кстати) обращение идет к имени формы, а вы обращаетесь к классу
0
04.05.2015, 19:54

Не по теме:

Цитата Сообщение от vovandr Посмотреть сообщение
не очень кстати
Такой мягкой рецензии в отношении поповского сайта, да и вообще всего, что связано с этим именем - я еще не слышал :)

0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 19:54  [ТС]
vovandr, обращение к классу пока не самая важная проблема, меня больше интересует почему форма отправляется, те не срабатывает сравнение через value
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.05.2015, 20:01
Цитата Сообщение от danyasworld Посмотреть сообщение
бращение к классу пока не самая важная проблема, меня больше интересует почему форма отправляется, те не срабатывает сравнение через value
Ага, понял, сливаюсь
Lazy_Den я не творческий человек, поэтому творчество данного человека никак не могу принижать
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 21:23  [ТС]
vovandr,
Цитата Сообщение от vovandr Посмотреть сообщение
Ага, понял, сливаюсь
, ну я как-бы на помощь надеялся...

Добавлено через 1 час 4 минуты
все еще мучаюсь... return false почему-то не останавливает отправку формы
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.05.2015, 21:34
Лучший ответ Сообщение было отмечено danyasworld как решение

Решение

Цитата Сообщение от danyasworld Посмотреть сообщение
return false почему-то не останавливает отправку формы
Для того, что "return false" сработало, нужно тонну ошибок исправить. Собственно, о чем вам начал намекать vovandr.
Цитата Сообщение от danyasworld Посмотреть сообщение
все еще мучаюсь
Видимо вас заставили писать этот код, к тому же явно существует угроза жизни. Ведь в противном случае, вы бы хотя бы основы JS проштудировали. Раз такое дело, то держите такой вариант. Пусть не идеально, но надеюсь, что мучения закончатся.

Кликните здесь для просмотра всего текста
HTML5
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
<form action="regform.php" class="regform" name="logform" method="post">
     <h3>Авторизация</h3>
    <p>
        <label>логин:</label><br>
        <input class="inputtxt" name="inplogin" type="text">
    </p>
    <p>
        <label>пароль:</label><br>
        <input class="inputtxt" name="pass" type="password">
    </p>
    <p>
        <input class="regformbttn" id="login" type="submit" value="Войти">
        <input class="regformbttn changeform" type="button" value="Регистрация">
    </p>
</form>
<form action="regform.php" class="regform" name="regform" method="post">
    <h3>Регистрация</h3>
    <p>
        <label>придумайте логин:</label><br>
        <input id="slogin" name="slogin" type="text">
    </p>
    <p>
        <label>придумайте пароль:</label><br>
        <input name="password1" type="password"><br>
        <span class="style1">*пароль может состоять только из символов A-Z,a-z,А-Я,а-я,0-9</span>
 
    </p>
    <p>
        <label>повторите пароль:</label><br>
        <input name="password2" type="password">
    </p>
    <p>
        <label>введите ваш e-mail</label><br>
        <input name="email" type="text"><br>
        &nbsp;<span class="style1"><a>(на него будет выслано письмо для 
    подтверждения аккаунта)</a></span>
    </p>
    <input name="sellreg" type="submit" value="Отправить">
    <input class="changeform" type="button" value="Назад">
</form>
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
var d = document,
    forms = [].slice.call(d.querySelectorAll('.regform'));
 
forms[1].style.display = 'none';
 
forms.forEach(function (f) {
    f.addEventListener('submit', validate_form, false);
});
 
[].forEach.call(d.querySelectorAll('.changeform'), function (el) {
    el.addEventListener('click', function (e) {
        e.preventDefault();
        forms.forEach(function (f) {
            f.style.display = f.style.display == 'none' ? 'block' : 'none';
        });
    }, false);
});
 
function validate_form(e) {
    var notSamePass = false,
        inputs = this.querySelectorAll('[type="text"],[type="password"]'),
        empty = 0;
    [].forEach.call(inputs, function (el) {
        el.classList.remove('bad', 'good');
        if(el.value.trim() === '') {
            el.classList.add('bad');
            empty++;
        } else {
            el.classList.add('good');
        }
    });
 
    if (this.name == 'regform') {
        if (this.password1.value != this.password2.value) {
            this.password2.classList.remove('good');
            this.password2.classList.add('bad');
            notSamePass = true;
        }
    }
 
    if(notSamePass || empty) e.preventDefault();
    return false;
}
1
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 22:01  [ТС]
вот черт! Все, решил проблему. Исе было из-за
JavaScript
1
uh1.class = 'bad';
Добавлено через 20 минут
я конечно понимаю, что код новиччков всегда странный, но всеже не надо так
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Видимо вас заставили писать этот код, к тому же явно существует угроза жизни.
и даже проштрудировав
Цитата Сообщение от Lazy_Den Посмотреть сообщение
вы бы хотя бы основы JS проштудировали
я не понимаю больше половины кода отсюда
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Раз такое дело, то держите такой вариант.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
04.05.2015, 22:09
Цитата Сообщение от danyasworld Посмотреть сообщение
я не понимаю больше половины кода отсюда
Что вы предлагаете? Упростить код? Да и зачем уже что-то решать, если
Цитата Сообщение от danyasworld Посмотреть сообщение
Все, решил проблему.
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 22:14  [ТС]
ну многие люди пишут
JavaScript
1
//чтото типа этого
и код упрощать не надо, там много интересных вещей.
0
 Аватар для Jetlag
111 / 49 / 20
Регистрация: 21.10.2013
Сообщений: 212
04.05.2015, 22:19
я конечно понимаю, что код новиччков всегда странный, но всеже не надо так
Вероятно эти насмешки вызваны заявлением что в шарпе у вас все ок) Нормальный программист с опытом врядли так напишет даже на малознакомом языке. Вероятно в шарпе все ок потому что ваш код никто толком не видел)

Комикс в тему:
http://xkcd.com/1513/

А что непонятно, спрашивайте, не стесняйтесь. Чем конкретнее вопрос, тем больше вероятность получить на него ответ
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 22:24  [ТС]
я не говорил что я профи, я просто сказал что там все красиво.

Добавлено через 1 минуту
JavaScript
1
  f.style.display = f.style.display == 'none' ? 'block' : 'none';
что значит эта строчка?
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
04.05.2015, 22:44
document.regform
это обращение к форме с name=regform которой здесь нет
0
 Аватар для Jetlag
111 / 49 / 20
Регистрация: 21.10.2013
Сообщений: 212
04.05.2015, 22:44
По частям:
?: - это тернарный условный оператор который есть и в C#. if-else другими словами
У элементов есть стили. Одним из них является свойство display, которое можете иметь например значения 'block' и 'none'. Что они значат, можно почитать в документации:
Оператор сравнения и в шарпе такой же.

Зная все это можно понять, что эта строчка просто меняет видимость элемента f на противоположную
0
04.05.2015, 22:45

Не по теме:

del
Jetlag уже ответил.

0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
04.05.2015, 23:50  [ТС]
мдя... чет опять ничего не работает) скопипастил код который дал Lazy_Den, но он не работает (браузер mozilla firefox, эмулятор сервера endels) Что я опять сделал не так?
index.php:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru"
 xml:lang="ru">
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="style.css" type="text/css" />
   
</head>
<body>
 <div>
    <div class="fixedblock">
    <?php>
    include "regform.php"; ?>
    </div>
    <div class="stretchblock"></div>
    </div>
    
 
</body>
</html>
regform.php:
HTML5
1
2
<head>
    <style type="text/css">
CSS
1
2
3
4
5
6
7
8
9
10
11
12
        .style1
        {
            font-size: xx-small;
        }
        .bad
        {
            border: 1px solid #f00;
        }
        .good
        {
            border: 1px solid #3f0;
            }
HTML5
1
2
    </style>
    <script type="text/javascript">
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
 var d = document,
    forms = [].slice.call(d.querySelectorAll('.regform'));
 
forms[1].style.display = 'none';
 
forms.forEach(function (f) {
    f.addEventListener('submit', validate_form, false);
});
 
[].forEach.call(d.querySelectorAll('.changeform'), function (el) {
    el.addEventListener('click', function (e) {
        e.preventDefault();
        forms.forEach(function (f) {
            f.style.display = f.style.display == 'none' ? 'block' : 'none';
        });
    }, false);
});
 
function validate_form(e) {
    var notSamePass = false,
        inputs = this.querySelectorAll('[type="text"],[type="password"]'),
        empty = 0;
    [].forEach.call(inputs, function (el) {
        el.classList.remove('bad', 'good');
        if(el.value.trim() === '') {
            el.classList.add('bad');
            empty++;
        } else {
            el.classList.add('good');
        }
    });
 
    if (this.name == 'regform') {
        if (this.password1.value != this.password2.value) {
            this.password2.classList.remove('good');
            this.password2.classList.add('bad');
            notSamePass = true;
        }
    }
 
    if(notSamePass || empty) e.preventDefault();
    return false;
}
HTML5
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
    
</script>
</head>
 
<form action="index.php" class="regform" name="logform" method="post">
     <h3>Авторизация</h3>
    <p>
        <label>логин:</label><br>
        <input class="inputtxt" name="inplogin" type="text">
    </p>
    <p>
        <label>пароль:</label><br>
        <input class="inputtxt" name="pass" type="password">
    </p>
    <p>
        <input class="regformbttn" id="login" type="submit" value="Войти">
        <input class="regformbttn changeform" type="button" value="Регистрация">
    </p>
</form>
<form action="index.php" class="regform" name="regform" method="post">
    <h3>Регистрация</h3>
    <p>
        <label>придумайте логин:</label><br>
        <input id="slogin" name="slogin" type="text">
    </p>
    <p>
        <label>придумайте пароль:</label><br>
        <input name="password1" type="password"><br>
        <span class="style1">*пароль может состоять только из символов A-Z,a-z,А-Я,а-я,0-9</span>
 
    </p>
    <p>
        <label>повторите пароль:</label><br>
        <input name="password2" type="password">
    </p>
    <p>
        <label>введите ваш e-mail</label><br>
        <input name="email" type="text"><br>
        &nbsp;<span class="style1"><a>(на него будет выслано письмо для 
    подтверждения аккаунта)</a></span>
    </p>
    <input name="sellreg" type="submit" value="Отправить">
    <input class="changeform" type="button" value="Назад">
</form>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2015, 23:50
Помогаю со студенческими работами здесь

Ajax запрос передает пустой post, почему так?
Код на jquery, который проверяет правильность введенных данных и отправляет их через ajax методом post в файл register.php ...

Не отправляется post списка
помогите разобраться post полей уходит, а списка никак. &lt;script type=&quot;text/javascript&quot;&gt; $(function() { ...

Не отправляется POST запрос
При отправке Post запроса в ответ от сервера приходит сообщение, что post запрос был пустым, хотя я отправляю вроде все верно, в запросе...

Не отправляется post запрос
не отправляется post запрос снифер не видет что запрос отправляется на http вот сам запрос char f; char postRequest; ...

Не отправляется POST запрос
Выдаёт ошибку в HttpSendRequest 12005 Помогите найти, спасибо #include &lt;windows.h&gt; #include &lt;wininet.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru