Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 2
1

При нажатии кнопки "Отправить" ничего не происходит

26.10.2015, 19:33. Показов 1666. Ответов 2
Метки нет (Все метки)

Здравствуйте. Пытаюсь разобраться как работает этот скрип. Вопрос вот в чем, почему когда нажимаешь на кнопку Отправить ничего не происходит, форма ни перезагружается не отправляет ничего?

Вот код формы:
PHP/HTML
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
 <div class="un-overlay mod-auto">
        <div class="un-wrapper">
            <form id="order_form" action="form.php" method="post" onsubmit="return order(event);">
               
                <div class="line">
                    <label for="name">ФИО</label>
                    <input name='name' class='text' value='' /> </div>
                <div class="line">
                    <label for="phone">Телефон</label>
                    <input maxlength="12" name='phone' class='text' value='' type="text" />
                    <span class="fhelp"><span class="example note_phone">Пример: <b class="phoneExampl">380ХХХХХХХХХХ</b></span>
                </div>
                <div class="line mod-gray">
                    <label style="padding-right:20px;">Цена товара:</label> <span class="price hotprice noflag pramount total">315 грн.</span>
                </div>
                <button class="feedback submit green" type="submit">Заказать</button>
            </form>
        </div>
    </div>
 
    <script>
    function changeCountry(e){
        e.preventDefault ? e.preventDefault() : e.returnValue = false;
        var select = e.target ? e.target : e.srcElement,
            xmlhttp;
        var country = select.value;
        if(country){
            if(window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 ) {
                    if(xmlhttp.status == 200 && xmlhttp.responseText !== ''){
                        var data = JSON.parse(xmlhttp.responseText),
                            old = document.getElementsByClassName('old'),
                            current = document.getElementsByClassName('current'),
                            total = document.getElementsByClassName('total'),
                            phoneExampl = document.getElementsByClassName('phoneExampl');
                            for(var i = 0; i < old.length; i++){
                                old[i].textContent = data.regularPrice;
                            }
                            for(var i = 0; i < current.length; i++){
                                current[i].textContent = data.price;
                            }
                            total[0].textContent = data.totalPrice;
                            phoneExampl[0].textContent = data.phoneExmpl;
                    }
                    else if(xmlhttp.status == 400) {
                        alert('There was an error 400')
                    }
                }
            }
            xmlhttp.open('POST', 'iframe.html', true);
            xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
            xmlhttp.send('action=getPrice&country=' + country);
        }
    }
    function order(e){
        e.preventDefault ? e.preventDefault() : e.returnValue = false;
        var form = e.target ? e.target : e.srcElement,
            xmlhttp,
            name = form.name.value,
            phone = form.phone.value,
            country = form.country.value,
            rePhones = {
                'RU' : /^7[0-9]{10}$/gi,
                'KZ' : /^7[0-9]{10}$/gi,
                'UA' : /^380[0-9]{9}$/gi,
                'MD' : /^373[0-9]{8}$/gi,
                'BY' : /^375[0-9]{9}$/gi,
                'AM' : /^374[0-9]{7}$/gi
            },
            reName = /^[а-яіїєґыэё]+[а-яії'єґыэё -]*[а-яіїєґыэё]+\s{1,3}[а-яіїєґыэё]+[а-яії'єґыэё -]*[а-яіїєґыэё]+\s{1,3}[а-яіїєґыэё]+[а-яії'єґыэё -]*[а-яіїєґыэё]$/gi;
        if(!rePhones[country].test(phone)){
            var phoneExmpls = {
                'RU' : '7ХХХХХХХХХХ',
                'KZ' : '7ХХХХХХХХХХ',
                'UA' : '380ХХХХХХХХХ',
                'MD' : '373ХХХХХХХХ',
                'BY' : '375ХХХХХХХХХ',
                'AM' : '374ХХХХХХХ'
            };
            alert('Заполните телефон правильно. Пример: ' + phoneExmpls[country]);
        }else if(!reName.test(name)){
 
            alert('Заполните ФИО правильно. Пример: Иванов Николай Петрович');
        }else{
            if(window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 ) {
                    if(xmlhttp.status == 200 && xmlhttp.responseText === 'success'){
                        alert('Ваш заказ принят');
                    }
                    else if(xmlhttp.status == 400) {
                        alert('There was an error 400')
                    }
                    else {
                        alert('Возникла ошибка при оформлении заказа.')
                    }
                }
            }
            xmlhttp.open('POST', 'form.php', true);
            xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
            xmlhttp.send('name=' + name + '&phone=' + phone + '&actionpay=924d0d44-cde6-1a2f-ec0f-0150a4d572cd.106077&country=' + country + '&action=order');
            for(var i = 0; i < document.forms.length; i++){
              document.forms[i].style.display = 'none';
            }
        }
        return false;
    }
    </script>
</body>
А вот код самого обработчика:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$phone = $_POST['phone'];
$name = $_POST['name'];
 
 
$REMOTE_ADDR = $_POST['REMOTE_ADDR'];
 
$to = "andrej.grinischin@yandex.ru";
$subject = "Сообщение с сайта";
$qtyage = "Имя пославшего письмо: $name \nТелефон: $phone ";
mail ($to,$subject,$qtyage,"Content-type:text/plain; charset = utf-8") or print "Не могу отправить письмо !!!";
exit;
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2015, 19:33
Ответы с готовыми решениями:

Форма обратной связи, при нажатии "Отправить" качает PHP файл
Сделал форму обратной связи и при нажатии &quot;Отправить&quot; качает PHP файл, в чем загвоздка??? ...

скопировал себе на сайт форму отправки сообщений, она работает, но при нажатии "отправить" не появляется окно
Сделал себе на сайт форму отправки сообщений, она работает, но при нажатии &quot;отправить&quot; не...

При заполнении формы после нажатия кнопки "отправить" текст выводится не полностью
Помогите разобраться почему при заполнении формы после нажатия кнопки отправить выдает страницу с...

При нажатии кнопки "Назад" очистить форму ввода
if (empty($error)) { mysql_query(создаю таблицу ); $id = mysql_insert_id($bd); ...

2
6 / 6 / 5
Регистрация: 29.01.2015
Сообщений: 455
27.10.2015, 10:00 2
А появляются ошибки? Или запись "Не могу отправить письмо !!" ???

Добавлено через 20 секунд
И скинь содержимое консоли.
0
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 2
28.10.2015, 00:04  [ТС] 3
появляется только пустое окно формы и все не выводить ничего.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2015, 00:04

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вывод более подробной строки php из таблицы MYSQL при нажатии кнопки "Подробнее"
Здравствуйте! Почему-то нигде не нашёл информацию, сам пытался, не помогло: Подскажите...

При нажатии кнопки назад в браузере получаю следующее - "Подтвердите повторную отправку формы"
Проблема, как я понимаю, заключается в том что не сохраняются переменные сессии, куки использовать...

При нажатии на кнопку со ссылкой ничего не происходит
Помогите, направьте меня в нужную тему, или помогите решить вопрос, я пока только начинаю...

Простейшая форма не работает. При нажатии на кнопку ничего не происходит.
Пару дней назад начал изучать PHP и возникла проблема при создании формы одни файлом . Ну вобщем...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.