Привет всем профессионалам и начинающим!
Проблема: не отсылаются данные на почту. Все сделал, но что-то не работает. Не могу понять что. Прошу помогите.
scripts.js:
это валидатор аякс скрипт.
ajax.php
урезка формы на страничке она большая и все переменные, которые оговорены выше присутствуют:
Но отправки не происходит. Валидатор не выдает Alert событие. Думаю, проблема кроется в скриптe Jquery.
Почтовый шаблон и почтовое событие ORDER созданы и настроены.
Проблема: не отсылаются данные на почту. Все сделал, но что-то не работает. Не могу понять что. Прошу помогите.
scripts.js:
| Код |
|---|
$(document).ready(function(){
orderForm.validform();
});
var orderForm = {
validform: function(){
var errors = false;
var regPhone = /^[\(\)\[\]\s\\\/\-0-9\+]{5,250}$/i;
var regMail = /^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i;
var highlight = function(type, field){
switch (type) {
case 'ok':
field.parent("div.input").removeClass("error");
break;
case 'err':
field.parent("div.input").addClass("error");
errors = true;
break;
}
if(errors){
field.attr({error: 'yes'});
}
}
// по нажатию submit
$("#orderform button:submit").click(function(){
$('[error]').removeAttr('error');
var name = $('#orderform input#form-user-name');
if (name.val().length > 1) {
highlight('ok', name);
} else {
highlight('err', name);
}
var email = $('#orderform input#form-user-email');
if (regMail.test(email.val())) {
highlight('ok', email);
} else {
highlight('err', email);
}
var phone = $('#orderform input#form-user-phone');
if (regPhone.test(phone.val())) {
highlight('ok', phone);
} else {
highlight('err', phone);
}
if (errors) {
errors = false;
} else {
var ord_office = $('#orderform select#ord_office').val();
var ord_hotel = $('#orderform select#ord_hotel').val();
var ord_zaezd_day = $('#orderform select#ord_zaezd_day').val();
var ord_zaezd_month = $('#orderform select#ord_zaezd_month').val();
var ord_zaezd_year = $('#orderform select#ord_zaezd_year').val();
var ord_vyezd_day = $('#orderform select#ord_vyezd_day').val();
var ord_vyezd_month = $('#orderform select#ord_vyezd_month').val();
var ord_vyezd_year = $('#orderform select#ord_vyezd_year').val();
var ord_money_amount = $('#orderform select#ord_money_amount').val();
var ord_money_type = $('#orderform select#ord_money_type').val();
var ord_numpeoples = $('#orderform input#ord_numpeoples').val();
var ord_excursions = $('#orderform select#ord_excursions').val();
var ord_visasupport = $('#orderform select#ord_visasupport').val();
var ord_hotelstars = $('#orderform select#ord_hotelstars').val();
var ord_bilet = $('#orderform select#ord_bilet').val();
var ord_transfer = $('#orderform select#ord_transfer').val();
var ord_comment = $('#orderform textarea#ord_comment').val();
function onAjaxSuccess(data) {
alert("Спасибо, Ваш заказ успешно отправлен.");
}
$.post('/ajax.php', {
name:name.val(),
email:email.val(),
phone:phone.val(),
ord_office:ord_office,
ord_hotel:ord_hotel,
ord_zaezd_day:ord_zaezd_day,
ord_zaezd_month:ord_zaezd_month,
ord_zaezd_year:ord_zaezd_year,
ord_vyezd_day:ord_vyezd_day,
ord_vyezd_month:ord_vyezd_month,
ord_vyezd_year:ord_vyezd_year,
ord_money_amount:ord_money_amount,
ord_money_type:ord_money_type,
ord_numpeoples:ord_numpeoples,
ord_excursions:ord_excursions,
ord_visasupport:ord_visasupport,
ord_hotelstars:ord_hotelstars,
ord_bilet:ord_bilet,
ord_transfer:ord_transfer,
ord_comment:ord_comment
}, onAjaxSuccess);
}
return false;
});
},
}
|
это валидатор аякс скрипт.
ajax.php
| Код |
|---|
<?
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$arSend = array(
"NAME" => htmlspecialchars($_POST['name']),
"EMAIL" => htmlspecialchars($_POST['email']),
"PHONE" => htmlspecialchars($_POST['phone']),
"ORD_OFFICE" => htmlspecialchars($_POST['ord_office']),
"ORD_HOTEL" => htmlspecialchars($_POST['ord_hotel']),
"ORD_ZAEZD_DAY" => htmlspecialchars($_POST['ord_zaezd_day']),
"ORD_ZAEZD_MONTH" => htmlspecialchars($_POST['ord_zaezd_month']),
"ORD_ZAEZD_YEAR" => htmlspecialchars($_POST['ord_zaezd_year']),
"ORD_VYEZD_DAY" => htmlspecialchars($_POST['ord_vyezd_day']),
"ORD_VYEZD_MONTH" => htmlspecialchars($_POST['ord_vyezd_month']),
"ORD_VYEZD_YEAR" => htmlspecialchars($_POST['ord_vyezd_year']),
"ORD_MONEY_AMOUNT" => htmlspecialchars($_POST['ord_money_amount']),
"ORD_MONEY_TYPE" => htmlspecialchars($_POST['ord_money_type']),
"ORD_NUMPEOPLES" => htmlspecialchars($_POST['ord_numpeoples']),
"ORD_EXCURSIONS" => htmlspecialchars($_POST['ord_excursions']),
"ORD_VISASUPPORT" => htmlspecialchars($_POST['ord_visasupport']),
"ORD_HOTELSTARS" => htmlspecialchars($_POST['ord_hotelstars']),
"ORD_BILET" => htmlspecialchars($_POST['ord_bilet']),
"ORD_TRANSFER" => htmlspecialchars($_POST['ord_transfer']),
"ORD_COMMENT" => htmlspecialchars($_POST['ord_comment']),
);
CEvent::Send('ORDER',s1,$arSend);
}
?>
|
урезка формы на страничке она большая и все переменные, которые оговорены выше присутствуют:
| Код |
|---|
<form class="form" action="" id="orderform"> <input type="hidden" name="action" value="order_individual"/> <div class="form-row"> <div class="label">Ф.И.О.<span class="style1"><span style="font-weight:bold">*</span></span></div> <div class="input-container"> <input class="input req-string" id="form-user-name" name="ord_fio_org" type="text" /> </div> </div> <div class="form-row"> <div class="label">Контактный телефон<span class="style1"><span style="font-weight:bold">*</span></span></div> <div class="input-container"> <input class="input req-string" id="form-user-phone" name="ord_phone" type="text" /> </div> </div> <div class="form-row"> <div class="label">E-Mail<span class="style1"><span style="font-weight:bold">*</span></span></div> <div class="input-container"> <input class="input req-email" id="form-user-email" name="ord_email" type="text" /> </div> </div> <div class="form-row"> <div class="label">Комментарий к заказу</div> <div class="input-container"> <textarea class="input req-string" id="ord_comment" rows="2" name="ord_comment"></textarea> </div> </div> <input id="submitOrderForm" type="submit" value="Заказать"/> </form> |
Но отправки не происходит. Валидатор не выдает Alert событие. Думаю, проблема кроется в скриптe Jquery.
Почтовый шаблон и почтовое событие ORDER созданы и настроены.
rd_office,