Не могу понять как сюда добавить что бы не ругалось на пробел
// Проверка поля "Имя"
case 'name': var rv_name = /^[a-zA-Zа-яА-Я]+$/; // используем регулярное выражение // Eсли длина имени больше 2ух символов, оно не пустое и удовлетворяет рег. выражению, // то добавляем этому полю класс .not_error, if(val.length > 2 && val != '' && rv_name.test(val)) { $(this).addClass('not_error'); $(this).next('.error-box').text('') .css('background-image','url(img/mark.png)') .animate() .animate(); } |
Цитата:
но можно так попробовать if(val.trim().length > 2 && rv_name.test(val)) Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Извините не знал как его редактировать "код"
сейчас попробую Ваш вариант |
не сработало
|
Цитата:
|
// verification
$(document).ready(function(){
// Устанавливаем обработчик потери фокуса для всех полей ввода текста
$('input#name, input#email, input#tel').unbind().blur( function(){
// Для удобства записываем обращения к атрибуту и значению каждого поля в переменные
var id = $(this).attr('id');
var val = $(this).val();
// После того, как поле потеряло фокус, перебираем значения id, совпадающее с id данного поля
switch(id)
{
// Проверка поля "Имя"
case 'name':
var rv_name = /^[a-zA-Zа-яА-Я]+$/; // используем регулярное выражение
// Eсли длина имени больше 2ух символов, оно не пустое и удовлетворяет рег. выражению,
// то добавляем этому полю класс .not_error,
if(val.length > 2 && val != '' && rv_name.test(val))
{
$(this).addClass('not_error');
$(this).next('.error-box').text('')
.css('background-image','url(img/mark.png)')
.animate()
.animate();
}
// Иначе, мы удаляем класс not-error, и заменяем его на класс error, говоря о том что поле содержит ошибку валидации,
// и ниже в наш контейнер выводим сообщение об ошибке и параметры для верной валидации
else
{
$(this).removeClass('not_error').addClass('error');
$(this).next('.error-box').html('')
.css('background-image','none')
.animate()
.animate();
}
break;
// Проверка email
case 'email':
var rv_email = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(val != '' && rv_email.test(val))
{
$(this).addClass('not_error');
$(this).next('.error-box').text('')
.css('background-image','url(img/mark.png)')
.animate()
.animate();
}
else
{
$(this).removeClass('not_error').addClass('error');
$(this).next('.error-box').html('')
.css('background-image','none')
.animate()
.animate();
}
break;
// Проверка поля "Сообщение"
case 'tel':
if(val != '' && val.length > 9 )
{
$(this).addClass('not_error');
$(this).next('.error-box').text('')
.css('background-image','url(img/mark.png)')
.animate()
.animate();
}
else
{
$(this).removeClass('not_error').addClass('error');
$(this).next('.error-box').html('')
.css('background-image','none')
.animate()
.animate();
}
break;
} // end switch(...)
}); // end blur()
// Теперь отправим наше письмо с помощью AJAX
$('#feedback-form').submit(function(e){
// Запрещаем стандартное поведение для кнопки submit
e.preventDefault();
// После того, как мы нажали кнопку "Отправить", делаем проверку,
// если кол-во полей с классов .not_error равно 3(так как у нас всего 3 поля), то есть все поля заполнены верно,
// выполняем наш Ajax сценарий и отправляем письмо адресату
if($('.not_error').length == 3)
{
// Eще одним моментов является то, что в качестве указания данных для передачи обработчику send.php, мы обращаемся $(this) к нашей форме,
// и вызываем метод .serialize().
// Это очень удобно, т.к. он сразу возвращает сгенерированную строку с именами и значениями выбранных элементов формы.
$.ajax({
url: 'send.php',
type: 'post',
data: $(this).serialize(),
beforeSend: function(xhr, textStatus){
$('form#feedback-form :input').attr('disabled','disabled');
},
success: function(response){
$('form#feedback-form :input').removeAttr('disabled');
$('form#feedback-form :text, textarea').val('').removeClass('.not_error').next('.error-box').css('background-image','none');
$('#feedback-form').trigger('reset');
$('.wrap_form, .form').toggleClass('close_panel');
}
}); // end ajax({...})
$('#send').prop("disabled", false);
}
else
{
$('#send').prop("disabled", true);
return false;
}
// Иначе, если количество полей с данным классом не равно значению 3 мы возвращаем false,
// останавливая отправку сообщения в невалидной форме
}); // end submit()
});
|
а как написать лог для
<?php
$email = $_POST['email'];
$name = $_POST['name'];
$message = $_POST['tel'];
$to = "ovrutskyy96@gmail.com";
$subject = "От поситителя сайта";
$text = "\n Написал(а): $name\n Контактный email - $email\n Телефон: $message\n";
$header = "Content-type: text/html; charset=utf-8\r\n";
$header .= "MIME-Version: 1.0\r\n";
$to2 = "$email";
$subject2 = "Для посетителя";
$text2 = "Написал - молодец";
$header2 = "Content-type: text/html; charset=utf-8\r\n";
$header2 .= "MIME-Version: 1.0\r\n";
$sending = mail($to, $subject, $text, $headers);
$sending2 = mail($to2, $subject2, $text2, $headers2);
?>
|
ovla,
всё нормально только нет удаления класса ошибки в строке 19
$(this).addClass('not_error').removeClass('error');
|
ovla,
и для других строк подобных 42 и 61 |
Цитата:
|
| Часовой пояс GMT +3, время: 12:46. |