С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470

Событие click

23.02.2016, 12:28. Показов 928. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, начал не так давно работать с ajax, вчера делал добавление в базу без перезагрузки . Не пойму где сделал ошибку. вчера добавлялось 1 раз в базу при каждом добавление как обычно, сделал удаление , а теперь по 2 раза одну и туже инфу добавляет , уже не первый раз такое делаю но не могу понять где ошибка. даже когда валидация проходит пишет 2 раза что "Поля пустые" как будто модальное окно 2 раза запускается и отправляет.
Есть такая формочка не большая.
HTML5
1
2
3
4
5
<div id ='error'></div>
            <input type='text' id='Names' placeholder='Имя' required><br><br>
            <input type='text' id='Emails' placeholder='Email' required><br><br>
            <textarea id ='text'></textarea><br><br>
            <button type="button" id='enter'>Отправить </button>
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
$(document).ready(function(){
        $("#knopka1").click(function(){
            $("#ostabvit").fadeIn("fade");
            $("#fon").show();
            
    });
    
        $("#cansel").click(function(){
            $("#ostabvit").hide();
            $("#fon").hide();
    });
        $("#fon").click(function(){
            $("#ostabvit").hide();
            $("#fon").hide();
    });
    
        $("#enter").click(function(){
            var names = $("#Names").val();
            var email = $("#Emails").val();
            var text = $("#text").val();
                if(text =='' || email=='' || names==''){
                    $("#error").fadeIn(2000).html("<b><font color='red'>Пустые поля</font></b>").fadeOut(1000);
                }
                else {
                    $.ajax({
                        type:"POST",
                        url:"class/addclass.php",
                        data:{"name":names,
                              "email":email,
                              "text":text
                             },
                        beforeSend:function(){
                            $("#error").html("<img src='img/refresh.gif' width='30'>");
                        },
                        success:function(data){
                                if(data == 1){
                                        $("#error").html("<font color='green'><b>Ошибка валидации формы</b></font>");
                                }
                                if(data == 2){
                                        $("#error").html("<font color='#000'><b>Добавление произошло успешно</b></font>").delay(6000).fadeOut(2000);
                                            $("#Names").val('');
                                            $("#Emails").val('');
                                            $("#text").val('');
                                            load_messes();
                                            
                                }
                                
                        }
                    });
                    
                }
            
    });
    
    $(".del").click(function(){
        var clicked = this.id.split("-");
        var arr = clicked[1];
            $.ajax ({
                type:"POST",
                url:"class/delete.php",
                data:{"delete":arr},
            success:function(data){
                $("#Nums_"+arr).fadeOut(200);
}           
            });
    });
    
});
function load_messes() {
            $.ajax ({
                type:"POST",
                url:"class/InfaTable.php",
                data:"req=ok",
            success:function(html){
                $("#container").empty();
                $("#container").html(html);     
}           
            });
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2016, 12:28
Ответы с готовыми решениями:

Как обработать событие click и событие нажития стрелки?
Допустим есть кнопка влево-вправо для горизонтального листания товаров. Как нужно кроссбраузерно обрабатывать одновременно событие click...

Событие click
Есть одна проблемма, есть код $('#stat_edit').click(function(){ var or_text = $('#status').html(); ...

Событие click()
Дело такое, есть блок див1 на котором навешено событие клик, а в этом блоке есть еще один блок див2, но дело в том что при клике на див2...

8
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
23.02.2016, 13:35
Попробуйте в строках 35, 36 и 39 испольковать что-нибудь другое вместо "data". Например, "Data".
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2016, 13:42  [ТС]
Не изменилось ..Всё равно по 2 раза добавляет. Не могу понять что такое то.
0
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
23.02.2016, 14:01
Добавляет в БД, как я понимаю, файл class/addclass.php. Не в нем ли дело?
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2016, 14:26  [ТС]
Цитата Сообщение от Padonak Посмотреть сообщение
Не в нем ли дело?
Не в нём.
т.к даже перед ajax запросом выводит 2 раза если пустые поля. Тобишь 2 раза выводит поля пустые и 2 раза добавляет в бд если они не пустые.
Цитата Сообщение от Azdeman Посмотреть сообщение
$("#error").fadeIn(2000).html("<b><fon t color='red'>Пустые поля</font></b>").fadeOut(1000);
Добавлено через 1 минуту
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div id='fon'></div>
<center><div id ='content'>
<input type='submit' id='knopka1' value='Оставить сообщение'>
        <div id='container'></div>
        
    <div id='ostabvit'>
    
    <img src='img/cansel.png' width='20' id ='cansel'>
    
    <center><div id ='content1'>
    
    <div id ='error'></div>
            <input type='text' id='Names' placeholder='Имя' required>
            <input type='text' id='Emails' placeholder='Email' required>
            <textarea id ='text'></textarea>
            <button type="button" id='enters'>Отправить </button>
            
            </div>
            </center>
                
        </div>
Вот полностью модалка типо.
0
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
23.02.2016, 22:02
Не знаю, что у вас там за шайтан происходит )) Еще и по два раза. Вот имитация вашей отправки данных. Я убрал оттуда все, что не имеет отношения к самой отправке.

index.php

PHP
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
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>XZ</title>
<style>
body{
    text-align:center;
    font-family:Verdana,Helvetica;
    font-size:12px;
    color:#000;
    background-color:#fff;
    margin-top:30px;
}
input,textarea{
    display:block;
    margin-top:10px;
    margin-bottom:10px;
}
.rd{
    color:red;
}
.gr{
    color:green;
}
#error{
    display:none;
    font-size:18px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function(){
$('#enter').click(function(){
$('#error').html('');
var name=$('#Names').val(),
    email=$('#Emails').val(),
    text=$('#text').val();
    
    if(name && email && text){
        $('#error').fadeIn('fast',function(){$(this).html('Отправка...');});
        $.post('class/addclass.php',{name:name,email:email,text:text},function(data){
            if(data == 1){
                $('#error').fadeIn('fast',function(){
                $(this).html('<b class="rd">Ошибка валидации формы</b>');
                });
            }
            if(data == 2){
            $('#error').fadeIn('fast',function(){
                $(this).html('<b class="gr">Добавление произошло успешно</b>').fadeOut(2000,function(){
                    $(this).html('');
                    $('#Names').val('');
                    $('#Emails').val('');
                    $('#text').val('');
                    //load_messes();
                    });
                                                
            });
            }
        });
    }
    else{
        $('#error').fadeIn('fast',function(){
            $(this).html('<b class="rd">Пустые поля</b>').fadeOut(1000,function(){$(this).html('');});
        });
    }
});
});
</script>
</head>
<body>
<center>
<div id="error"></div>
<input type="text" id="Names" placeholder="Имя" />
<input type="text" id="Emails" placeholder="Email" />
<textarea id="text" placeholder="Сообщение"></textarea>
<button type="button" id="enter">Отправить</button>
</center>
</body>
</html>
class/addclass.php (формальная проверка $_POST только для отсылки "ответа сервера")

PHP
1
2
3
4
5
<?php
$output='1';
if(count($_POST)>0){$output='2';};
echo $output;
?>
А вот тут - рабочий пример. Атрибуты required там не нужны, т.к. у вас не присходит отправки формы.
1
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2016, 22:17  [ТС]
Уже исправил.. Ошибка была ужасной .. я подключал в файле Infatable.php (вывод инфы из бд) файл js и после отправки формы у меня функция контент подгружает из Infatable.php и она снова вызывала js файл отправки.
В общем нашел ошибку.
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
23.02.2016, 22:18
Цитата Сообщение от Azdeman Посмотреть сообщение
Не в нём.
убедитесь что скрипт не подключается 2-ы.
или дайте мне линк на вашь готовый пример
или дело в php
1
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
23.02.2016, 22:20  [ТС]
Цитата Сообщение от WhiteMind Посмотреть сообщение
убедитесь что скрипт не подключается 2-ы.
в точку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2016, 22:20
Помогаю со студенческими работами здесь

Не срабатывает событие click
&lt;div id=&quot;panel&quot;&gt; &lt;div id=&quot;panel-content&quot; class=&quot;info-map-panel info-map-panel-visible&quot;&gt; &lt;/div&gt; &lt;/div&gt; Есть блок, который...

Не работает Click событие
Народ спасайте, делаю поиск как у гугл, суть такая через ajax запросы по слову которое вводит пользователь я смотрю в бд и вывожу ниже в...

Событие click. Кроссбраузерность
Здравствуйте. Наткнулся на такую проблему. Есть вып. список: &lt;select id=&quot;Type&quot;&gt; &lt;option value=&quot;0&quot;&gt;&lt;/option&gt; ...

Не работает событие click()
Здравствуйте. Написал скрипт с использованием AJAX. Суть скрипта заключается в том, чтобы выводить входящие сообщения из БД. Скрипт...

Наложение элементов и событие click
Здравствуйте. Есть 2 элемента. Один содержит другой (см рисунок). Оба элемента имеют событие клика. Так вот, при клике на крестик...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru