selectio
Новичок
Дата регистрации:
12.06.2013 09:40:17
Сообщений: 2
Использую php в совокупности с JS.
Все работает, когда нажимаешь на сайте на кнопку "отправить". Благодарственное сообщение выскакивает и т.п.
Но вот на почту ничего не приходит,никаких данных. Пожалуйста, если кому-то несложно, можете посмотреть код, связанный с формой?Может там ошибка...
HTML-код.
<form action="ajax_response.php" class="b-form-order" id="myform">
<fieldset>
<div class="row">
<label for="name">Имя:</label>
<div class="input-holder"><input type="text" class="required" name="contact_name" id="contact_name" value="" /></div>
</div>
<div class="row">
<label for="phone">Телефон:</label>
<div class="input-holder"><input type="text" class="required" name="contact_tel" id="contact_tel" value='' /></div>
</div>
<div class="row">
<label for="comment">Комментарий: <span>Название продукта </span></label>
<div class="textarea-holder"><textarea id="comment" cols="30" rows="10" name="comment" class="required" ></textarea></div>
</div>
<div class="row row-holder">
<input type="hidden" name="normal" value="897ewrkljsfda8">
<input name="type" type="hidden" value="main" />
<input type="submit" value="заказать" name="submit" >
</div>
</fieldset>
</form>
PHP-код:
<?php
$name = $_POST['name'];
$subj = $_POST['subj'];
$to_mail = 'my@mail';
if(empty($name)) {
echo 'Имя не указанно!<br>';
$error+=1;
}
if($error==0) {
mail($to_mail, // to
$subj, // subj
$text, // message
'From: '.$name.' <'.$mail.'>' // header
);
echo 'Благодарим Вас!';
}
?>
JS-код:
$(document).ready(function(e) {
jQuery.validator.addMethod("required_new", function(value, element) {
return this.optional(element) || (element.getAttribute('def') != element.value);
}, "Это поле является обязательным"
jQuery.validator.setDefaults({
debug: true,
success: "valid",
focusInvalid: false,
focusCleanup: false
});;
$("#myform".validate({
rules: {
contact_name: {
required: true,
}
}
});
var options = {
// элемент, который будет обновлен по ответу сервера
target: "#err_output",
url: "ajax_response.php",
type:'post',
beforeSubmit: showRequest, // функция, вызываемая перед передачей
success: showResponse, // функция, вызываемая при получении ответа
timeout: 3000 // тайм-аут
};
// привязываем событие submit к форме
$('.b-form-order').submit(function(e) {
$idD=$(this).attr("id"
$dd=$('#'+$idD).validate().form();
if ($dd)
$(this).ajaxSubmit(options);
// !!! Важно !!!
// всегда возвращаем false, чтобы предупредить стандартные
// действия браузера (переход на страницу form.php)
return false;
});
});
// вызов перед передачей данных
function showRequest(formData, jqForm, options) {
// formData - массив; здесь используется $.param чтобы преобразовать его в строку для вывода в alert(),
// (только в демонстрационных целях), но в самом плагине jQuery Form это совершается автоматически.
var queryString = $.param(formData);
// jqForm это jQuery объект, содержащий элементы формы.
// Для доступа к элементам формы используйте
// var formElement = jqForm[0];
// alert('Вот что мы передаем: \n\n' + queryString);
// здесь можно вернуть false чтобы запретить отправку формы;
// любое отличное от fals значение разрешит отправку формы.
return true;
}
// вызов после получения ответа
function showResponse(responseText, statusText) {
// для обычного html ответа, первый аргумент - свойство responseText
// объекта XMLHttpRequest
// если применяется метод ajaxSubmit (или ajaxForm) с использованием опции dataType
// установленной в 'xml', первый аргумент - свойство responseXML
// объекта XMLHttpRequest
// если применяется метод ajaxSubmit (или ajaxForm) с использованием опции dataType
// установленной в 'json', первый аргумент - объек json, возвращенный сервером.
// alert('Статус ответа сервера: ' + statusText + '\n\nТекст ответа сервера: \n' + responseText +
// '\n\nЦелевой элемент div обновиться этим текстом.');
$('#gallery_click').click();
}
Буду рад любым идеям и замечаниям. Всех благодарю.