Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 05.09.2013
Сообщений: 28
1

Не работает форма обратной связи

15.09.2013, 05:34. Показов 4083. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Долго бился в муках над вот этой формочкой, но так и не получилось:

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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link href="css/custom.css" rel='stylesheet' type='text/css'>
<script src="js/jquery.js"></script>
<script src="js/custom.js"></script>
</head>
 
<body>
<form method="post" action="?" class="met_contact_form clearfix">
<div class="met_short_container">
<label class="met_label" for="met_contact_name">NAME</label>
<input type="text" name="Name" required="" class="met_input_text" id="met_contact_name">
</div>
<div class="met_short_container">
<label class="met_label" for="met_contact_email">EMAIL</label>
<input type="text" name="Mail" class="met_input_text" id="met_contact_email">
</div>
<div class="met_long_container">
<label class="met_label" for="met_contact_textarea">MESSAGE</label>
<textarea name="Message" class="met_textarea" id="met_contact_textarea"></textarea>
</div>
<input type="submit" class="met_button pull-right" value="Send">
<div class="met_contact_thank_you">We received your message!</div>
</form>
файл custom.js:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    $('.contactform').bind('submit', function(){
        var form    = $(this);
        var me      = $(this).children('input[type=submit]');
 
        me.attr('disabled','disabled');
 
        $.ajax({
            type: "POST",
            url: "mail.php",
            data: form.serialize(),
            success: function(returnedInfo){
 
                var message = $('.met_contact_thank_you');
                returnedInfo == 1 ? message.show() : message.html('Our Mail Servers Are Currently Down').show();
                me.removeAttr('disabled');
 
            }
        });
        return false;
    });
подскажите что нужно чтобы формы проверялась на jquery и отправлялась php-обработчику (mail.php)? Помогите пожалуйста. Уже неделю бьюсь над этим вопросом и гугл не помог :-(

Добавлено через 3 минуты
имеется старый обработчик, но как ни пытался подставить имена полей, нифига не получилось:

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
<?php
//если форма отправлена
if(isset($_POST['submit'])) {
 
//Проверяем, что поле 'Имя' не пустое
if(trim($_POST['Name']) == '') {
$hasError = true;
} else {
$name = trim($_POST['Name']);
}
 
//Проверяем, что поле 'Телефон' не пустое
if(trim($_POST['Phone']) == '') {
$hasError = true;
} else {
$phone = trim($_POST['Phone']);
}
 
//Проверяем корректен ли введенный почтовый адрес
if(trim($_POST['Email']) == '')  {
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$",
     trim($_POST['Email']))) {
$hasError = true;
} else {
$email = trim($_POST['Email']);
}
 
//Проверяем введены ли данные в поле 'сообщение'
if(trim($_POST['Message']) == '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['Message']));
} else {
$comments = trim($_POST['Message']);
}
}
 
//Если ошибок нет, отправляем форму
if(!isset($hasError)) {
$emailTo = 'my@mail.ru'; 
//Пропишите здесь ваш почтовый адрес
$subject = "Сообщение с сайта";
$body = "Вам поступило сообщение от: $name \n\nЕго контактный номер телефона: $phone \n\nЕго адрес E-Mail: $email \n\nТекст письма: $comments";
$headers = $headers."Content-type: text/plain; charset=windows-1251\r\n";
$headers = "From: Письмо с сайта\r\n";
$headers = $headers."Return-path: <".$email.">\r\n";
 
$verify=mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
}
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2013, 05:34
Ответы с готовыми решениями:

Не работает вторая форма обратной связи (формы зависят друг от друга)
Всем привет, такая проблема: Есть две формы обратной связи. Если вводить данные в первую форму и...

Форма обратной связи
Здравствуйте. Есть подобная форма обратной связи, она появляется в виде popup окна, я, с горем...

Форма обратной связи
Всем привет! Вставил на сайт форму обратной связи, найденную на просторах интернета. Выглядит...

Форма обратной связи
Ребят, помогите пожалуйста. Никак не могу найти проблему. вот два сайта....

21
0 / 0 / 0
Регистрация: 05.09.2013
Сообщений: 28
17.09.2013, 15:48  [ТС] 21
Author24 — интернет-сервис помощи студентам
да я не про вас, а вообще!

у меня уже есть установленный рабочий (без ошибок) скрипт
0
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 17
17.09.2013, 19:00 22
Цитата Сообщение от Schtrich Посмотреть сообщение
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
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link href="css/custom.css" rel='stylesheet' type='text/css'>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
 
     $('.contactform').bind('submit', function(){
        var form    = $(this);
        var me      = $(this).children('input[type=submit]');
 
        me.attr('disabled','disabled');
 
        $.ajax({
            type: "POST",
            url: "sendmail.php",
            data: form.serialize(),
            success: function(returnedInfo){
 
                var message = $('.met_contact_thank_you');
                returnedInfo == 1 ? message.show() : message.html('Our Mail Servers Are Currently Down').show();
                me.removeAttr('disabled');
 
            }
        });
        
        return false;
        
    });
 
});
</script>
</head>
 
<body>
<form method="post" action="" class="contactform">
<div class="met_short_container">
<label class="met_label" for="met_contact_name">NAME</label>
<input type="text" name="Name" required="" class="met_input_text" id="met_contact_name">
</div>
<div class="met_short_container">
<label class="met_label" for="met_contact_email">EMAIL</label>
<input type="text" name="Mail" class="met_input_text" id="met_contact_email">
</div>
<div class="met_long_container">
<label class="met_label" for="met_contact_textarea">MESSAGE</label>
<textarea name="Message" class="met_textarea" id="met_contact_textarea"></textarea>
</div>
<input type="submit" class="met_button pull-right" name="submit" value="Send">
<div class="met_contact_thank_you" style="display:none">We received your message!</div>
</form>
</body>
</html>

sendmail.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
<?php
 
//если форма отправлена
if(isset($_POST)) {
 
//Проверяем, что поле 'Имя' не пустое
if(trim($_POST['Name']) == '') {
$hasError = true;
} else {
$name = trim($_POST['Name']);
}
 
//Проверяем корректен ли введенный почтовый адрес
if(trim($_POST['Mail']) == '') {
$hasError = true;
} else if (!filter_var(trim($_POST['Mail']), FILTER_VALIDATE_EMAIL)) {
    $hasError = true; echo "tttt";
} else {
$email = trim($_POST['Mail']);
}
 
//Проверяем введены ли данные в поле 'сообщение'
if(trim($_POST['Message']) == '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['Message']));
} else {
$comments = trim($_POST['Message']);
}
}
 
$phone = 'Test Phone';
$name = 'Test Name';
 
//Если ошибок нет, отправляем форму
if(!isset($hasError)) {
$emailTo = 'my@mail.ru';
//Пропишите здесь ваш почтовый адрес
$subject = "Сообщение с сайта";
$body = "Вам поступило сообщение от: $name \n\nЕго контактный номер телефона: $phone \n\nЕго адрес E-Mail: $email \n\nТекст письма: $comments";
$headers = "Content-type: text/plain; charset=windows-1251\r\n";
$headers.= "From: Письмо с сайта\r\n";
$headers.= "Return-path: <".$email.">\r\n";
 
$verify=mail($emailTo, $subject, $body, $headers);
$emailSent = true;
// тут можно вывести 1, если письмо было отправлено
if ($verify) echo 1;
else echo 0;
}
}
Вопрос... Как нужно изменить эту форму, что бы убрать проверку на правильность ввода маила и сделать 2 поля - имя+телефон ? И форму имя+телефон+почта - без проверок.

И желательно что бы по отправке, пользователю приходило письмо по заранее заготовленному мною шаблону в фформате HTML ?
0
17.09.2013, 19:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2013, 19:00
Помогаю со студенческими работами здесь

Форма обратной связи jQuery
Ребята, написала форму обратной связи с помощью jQuery. Ничего у меня не отправляет, так как я...

Форма обратной связи с информацией из блока
Всем доброго времени суток! В общем ситуация такая. У меня есть html шаблон, в шаблоне есть...

Форма обратной связи без PHP
Сайт полностью на HTML и JS, возможно ли добавить форму обратной связи без PHP? PHP на этом...

Форма обратной связи, пути решения
Добрый день. Создал форму обратной связи все отлично работает, но не устраивает что когда нажимаешь...

Форма обратной связи для сайта html + ajax
Есть html сайт на нем уже встроены верстальщиком формы но так и не доделана возможность отправки на...

Форма обратной связи AJAX drag/drop с предпросмотром картинок
Добрый день. Решил сюда написать. Подскажите, плиз, как можно реализовать форму обратной связи,...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru