Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2017, 20:41
Новичок на форуме
Отправить личное сообщение для ovla Посмотреть профиль Найти все сообщения от ovla
 
Регистрация: 16.07.2017
Сообщений: 8

Не могу понять как сюда добавить что бы не ругалось на пробел
// Проверка поля "Имя"
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();
}
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2017, 21:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ovla
что бы не ругалось на пробел
и не должно
но можно так попробовать
if(val.trim().length > 2 && rv_name.test(val))

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2017, 21:49
Новичок на форуме
Отправить личное сообщение для ovla Посмотреть профиль Найти все сообщения от ovla
 
Регистрация: 16.07.2017
Сообщений: 8

Извините не знал как его редактировать "код"
сейчас попробую Ваш вариант
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2017, 21:55
Новичок на форуме
Отправить личное сообщение для ovla Посмотреть профиль Найти все сообщения от ovla
 
Регистрация: 16.07.2017
Сообщений: 8

не сработало
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2017, 22:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ovla
не сработало
тогда можно только гадать, что у вас на самом деле в коде
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2017, 22:15
Новичок на форуме
Отправить личное сообщение для ovla Посмотреть профиль Найти все сообщения от ovla
 
Регистрация: 16.07.2017
Сообщений: 8

// 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()
});
Ответить с цитированием
  #7 (permalink)  
Старый 16.07.2017, 22:19
Новичок на форуме
Отправить личное сообщение для ovla Посмотреть профиль Найти все сообщения от ovla
 
Регистрация: 16.07.2017
Сообщений: 8

а как написать лог для
​
<?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);




    ?>
Ответить с цитированием
  #8 (permalink)  
Старый 16.07.2017, 22:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ovla,
всё нормально только нет удаления класса ошибки
в строке 19
$(this).addClass('not_error').removeClass('error');
Ответить с цитированием
  #9 (permalink)  
Старый 16.07.2017, 22:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ovla,
и для других строк подобных 42 и 61
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2017, 22:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ovla
как написать лог
ждите специалиста по php
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12
фрактальный сыр x-yuri Оффтопик 76 23.11.2011 21:59
Скрипт калькулятора (не могу добавить еще одно значение) Jee_Day Я не знаю javascript 2 22.05.2009 13:19
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42