Проблема с ajax.

R7
На сайте с 20.08.2013
Offline
0
429

Дорого время суток. Подскажите новичку пожалуйста. Скачал шаблон, переделываю под себя. В шаблоне присутствует форма обратной связи - человек пишет свой имейл, телефон, текст сообщения жмет отправить и это всё приходит на мой email.

Не могу разобраться. Помогите пожалуйста.

Html

    <script src="js/jquery-1.7.min.js"></script>
<script src="js/jquery.easing.1.3.js"></script>
<script src="js/FF-cash.js"></script>

                <form id="form" method="post" >
<fieldset>
<label><strong>Имя:</strong><input type="text" value=""></label>
<label><strong>Ваш Email:</strong><input type="text" value=""></label>
<label><strong>Телефон:</strong><input type="text" value=""></label>
<label><strong>Сообщение:</strong><textarea></textarea></label>
<div class="btns"><a href="#" class="link">Очистить</a><a href="#" class="link" onClick="document.getElementById('form').submit()">Отправить</a></div>
</fieldset>
</form>

В Dreamweaverе я вижу содержимое jquery-1.7.min.js и jquery.easing.1.3.js

Я прочитал нужно ещё подключить php файл? Спасибо.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

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

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
C
На сайте с 04.02.2005
Offline
291
#2

1. Закончить с функционалом формы

1.а написать обработчик для Очистить

1.б Написать обработчик для submit

2. Перейти к написанию серверного скрипта

R7
На сайте с 20.08.2013
Offline
0
#3
Chukcha:
1. Закончить с функционалом формы
1.а написать обработчик для Очистить
1.б Написать обработчик для submit

2. Перейти к написанию серверного скрипта

Chukcha, если не затруднит можете направить куда смотреть\гуглить? спасибо

Z
На сайте с 17.09.2010
Offline
34
#4

richard7, может быть для начала без ajax попробуете?

Работа с формами

mail

T
На сайте с 19.09.2012
Offline
29
#5

Раз уж там и так подключен JQuery, то полагаю его использование допустимо.

Вот мой вариант (их масса - в т.ч. без ajax) - в очень упрощенном виде (ссылку на JQuery можете изменить на свой экземпляр, ссылку на скрипт /test/send1.php - тоже на путь к скрипту у себя) - на своем хостинге я проверил непосредственно тот код, что привел ниже, письма приходят, т.е. программа-минимум выполнена, напильником дорабатывайте сами:


<html>
<head>
<style type="text/css">
.success { color: green; }
.fail { color: red; }
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function(){
$("#btnClear").click(function(){
clear_form();
});
$("#btnSend").click(function(){
send_form();
});
});
function clear_form()
{
$("#form input, #form textarea").val('');
}

function send_form()
{
$.post("/test/send1.php", $("#form").serialize()).done(function(data){
$("#sendResult").addClass("success").html(data);
clear_form();
}).fail(function(){
$("#sendResult").addClass("fail").html('Ошибка при отправке сообщения');
});
}
</script>
</head>
<body>
<form id="form" method="post" >
<fieldset>
<label><strong>Имя:</strong><input type="text" name="name" value=""></label>
<label><strong>Ваш Email:</strong><input type="text" name="email" value=""></label>
<label><strong>Телефон:</strong><input type="text" name="phone" value=""></label>
<label><strong>Сообщение:</strong><textarea name="message"></textarea></label>
<div class="btns"><a href="#" class="link" id="btnClear">Очистить</a><a href="#" class="link" id="btnSend">Отправить</a></div>
<div id="sendResult"></div>
</fieldset>
</form>
</body>
</html>

/test/send1.php (очень упрощенный вариант):


<?php
$to = "your@email.ru";
$from = "example@example.com";

$name = @$_POST['name'];
$email = @$_POST['email'];
$phone = @$_POST['phone'];
$message = @$_POST['message'];

$subj = "Запрос с сайта";
$text = "Имя: $name
Телефон: $phone
E-mail: $email
Сообщение:
$message
";

$header = "MIME-Version: 1.0\nContent-type: text/plain; charset=UTF-8\nFrom: $from\n";
if(mail($to, '=?UTF-8?B?' . base64_encode($subject) . '?=', $text, $header))
{
echo "Ваше сообщение отправлено";
}
else
{
echo "Ошибка на сервере при отправке. Позвоните нам по телефону";
}


R7
На сайте с 20.08.2013
Offline
0
#6

Спасибо всем отписавшимся. turen, пришлите мне номер вашего кошелька wmz в личку или на почту trendo (at) mail. ru отблагодарю вас. Всё работает

---------- Добавлено 20.08.2013 в 18:23 ----------

zerocube:
richard7, может быть для начала без ajax попробуете?
Работа с формами
mail

Спасибо большое. Читаемс-с ☝

T
На сайте с 19.09.2012
Offline
29
#7

richard7, ещё рекомендую добавить проверки вводимых данных на клиенте и на сервере, чтобы посетители не забывали хотя бы одно из средств связи нормально ввести, а роботы пореже письмами одолевали, но на первое время пойдёт и так, это лучше, чем никак.

Лички, кстати, у Вас в данный момент нету. Отправил на почту.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий