X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Форма обратной заявки, landing page
hookaman
hookaman
Topic Starter сообщение 8.7.2014, 16:29; Ответить: hookaman
Сообщение #1


Здравствуйте!
Ни у кого нет mail.php? для такой формы
Код
    <div class="form">
        <div class="inner">
            <div class="ukaz"></div>
            <div class="form_order">
                <input type="text" class="textinput" name="name" placeholder="ИМЯ" />
                <input type="text" class="textinput" name="phone" placeholder="ТЕЛЕФОН" />
                <a class="submit_top" >ОСТАВИТЬ ЗАЯВКУ</a>
            </div>
            <div class="clr"></div>
        </div>
    </div>
</div>

Отправляет через js
Код
jQuery(document).ready(function() {
    
    
    
    
    


    /* validation */    
    $("#commentForm").validate({
        focusInvalid: false,
        focusCleanup: false
    });
    $("#commentFormtwo").validate({
        focusInvalid: false,
        focusCleanup: false
    });
    $("#commentFormthree").validate({
        focusInvalid: false,
        focusCleanup: false
    });
    
    
    jQuery.validator.addMethod("required_new", function(value, element) {
  return this.optional(element) || (element.getAttribute('def') != element.value);
    }, "Это поле является обязательным");
    
    $(function () {

        var rel = 'def';

        $.fn.defValue = function(type) {

            return this.each(function() {

                if(type == 'clear') {
                    $(this).find('input:text['+rel+'], textarea['+rel+']').each(function () {
                        if ($(this).attr(rel) == $(this).val()) {
                            $(this).val('');
                        }
                    });
                } else {
                    $(this).find('input:text['+rel+'], textarea['+rel+']').each(function () {
                        if ($(this).val().length == 0) {
                            $(this).val($(this).attr(rel));
                        }
                    });
                }
            });
        }

        $('form').live('button', function (e) {
            $(this).find('input:text['+rel+'], textarea['+rel+']').each(function () {
                if ($(this).attr(rel) == $(this).val()) {
                    $(this).val('');
                }
            });
        });

        $('input:text['+rel+'], textarea['+rel+']').each(function (index) {
            if ($(this).val().length == 0) {
                $(this).val($(this).attr(rel));
            }
        });

        $('input:text['+rel+'], textarea['+rel+']').live('blur', function () {
            if ($(this).val().length == 0) {
                $(this).val($(this).attr(rel));
            }
        });

        $('input:text['+rel+'], textarea['+rel+']').live('focus', function () {
            if ($(this).attr(rel) == $(this).val()) {
                $(this).val('');
            }
        });
    });
    
    var p = $('.popup__overlay_buy');
$(".callback").click(function(){
    p.css('display', 'block');
    $(".popup__close_buy").after("<div class='del'>"+
                                        "<h2 class='form_call_header'>Оставьте заявку РЅР° замер РїСЂСЏРјРѕ сейчас!</h2><br/>"+
                                        "<input type='text' name='name' placeholder='Введите Ваше РёРјСЏ:' def='Введите Ваше РёРјСЏ:' class='textinput' />"+
                                        "<input type='text' name='phone' placeholder='Введите Ваш телефон:' class='textinput' />"+
                                        "<span class='wrapper_sabmit'><a id='form_order_call'>Р—РђРљРђР—РђРўР¬ ЗАМЕР</a></span>"+
                                        "</div>");
                            
                            
                            
                            
                       $("#form_order_call").click(function(){
                          
                                
                                
                                if($(".del input[name='name']").val() == ""){
                                   $(".del input[name='name']").css('border', '1px solid red');
                                }else{
                                    if($(".del input[name='phone']").val() == ""){
                                        $(".del input[name='phone']").css('border', '1px solid red')
                                   }else {
                                var name = $(".del input[name='name']").val();
                                var phone = $(".del input[name='phone']").val();
                                
                                p.css('display', 'none');
                                $(".del").remove();
                                $.ajax({
                                    url: 'email.php',
                                    type: "POST",
                                    data: {'phone': phone, 'name': name},
                                    success: function(data){
                                        p.css('display', 'block');
                                        $('.popup__close_buy').after(data);
                                    }
                                    
                                  });
                              }}
                            });    
                    });
                    
           p.click(function(event) {
        z = event || window.event;
        if (z.target == this) {
            $(".del").remove();
            $(p).css('display', 'none');
        }
    });
    
    $('.popup__close_buy').click(function() {
    $(".del").remove();
    p.css('display', 'none');
    });
    
     $(".submit_top").click(function(){
                          
                                if($(".form_order input[name='name']").val() == ''  || $(".form_order input[name='name']").val() == "Введите Ваше РёРјСЏ"){
                                    $(".form_order input[name='name']").css('border', '1px solid red');
                                } else {
                                    $(".form_order input[name='name']").css('border', '1px solid #ccc');
                                    if($(".form_order input[name='phone']").val() == "" || $(".form_order input[name='phone']").val() == "Введите Ваш телефон"){
                                        $(".form_order input[name='phone']").css('border', '1px solid red');
                                    } else {
                                        $(".form_order input[name='phone']").css('border', '1px solid #ccc');
                                        

                                var name = $(".form_order input[name='name']").val();
                                var phone = $(".form_order input[name='phone']").val();
                                                      
                                $.ajax({
                                    url: 'email.php',
                                    type: "POST",
                                    data: {'phone': phone, 'name': name},
                                    success: function(data){
                                        p.css('display', 'block');
                                        $('.popup__close_buy').after(data);
                                        
        p.click(function(event) {
        z = event || window.event;
        if (z.target == this) {
            $(".del").remove();
            $(p).css('display', 'none');
        }
    });
    
    $('.popup__close_buy').click(function() {
    $(".del").remove();
    p.css('display', 'none');
    });
                                    }
                                    
                                  });
                              };
                                    };
                              
                            });    
                    
     $(".submit_top_red").click(function(){
                          
                                if($(".form_order_sred input[name='name']").val() == ''  || $(".form_order_sred input[name='name']").val() == "Введите Ваше РёРјСЏ"){
                                    $(".form_order_sred input[name='name']").css('border', '1px solid red');
                                } else {
                                    $(".form_order_sred input[name='name']").css('border', 'none');
                                    if($(".form_order_sred input[name='phone']").val() == "" || $(".form_order_sred input[name='phone']").val() == "Введите Ваш телефон"){
                                        $(".form_order_sred input[name='phone']").css('border', '1px solid red');
                                    } else {
                                        $(".form_order_sred input[name='phone']").css('border', 'none');
                                        

                                var name = $(".form_order_sred input[name='name']").val();
                                var phone = $(".form_order_sred input[name='phone']").val();
                                
                                
                                $.ajax({
                                    url: 'email.php',
                                    type: "POST",
                                    data: {'phone': phone, 'name': name},
                                    success: function(data){
                                        p.css('display', 'block');
                                        $('.popup__close_buy').after(data);
                                        
        p.click(function(event) {
        z = event || window.event;
        if (z.target == this) {
            $(".del").remove();
            $(p).css('display', 'none');
        }
    });
    
    $('.popup__close_buy').click(function() {
    $(".del").remove();
    p.css('display', 'none');
    });
                                    }
                                    
                                  });
                              };
                                    };
                              
                            });
        
        
      $(".submit_top_blue").click(function(){
                          
                                if($(".form_order_sred_two input[name='name']").val() == ''  || $(".form_order_sred_two input[name='name']").val() == "Р?РјСЏ"){
                                    $(".form_order_sred_two input[name='name']").css('border', '1px solid red');
                                } else {
                                    $(".form_order_sred_two input[name='name']").css('border', 'none');
                                    if($(".form_order_sred_two input[name='phone']").val() == "" || $(".form_order_sred_two input[name='phone']").val() == "Телефон:"){
                                        $(".form_order_sred_two input[name='phone']").css('border', '1px solid red');
                                    } else {
                                        $("#commentForm input[name='phone']").css('border', 'none');
                                        

                                var name = $(".form_order_sred_two input[name='name']").val();
                                var phone = $(".form_order_sred_two input[name='phone']").val();
                                
                                
                                $.ajax({
                                    url: 'email.php',
                                    type: "POST",
                                    data: {'phone': phone, 'name': name},
                                    success: function(data){
                                        p.css('display', 'block');
                                        $('.popup__close_buy').after(data);
                                        
       p.click(function(event) {
        z = event || window.event;
        if (z.target == this) {
            $(".del").remove();
            $(p).css('display', 'none');
        }
    });
    
    $('.popup__close_buy').click(function() {
    $(".del").remove();
    p.css('display', 'none');
    });
                                    }
                                    
                                  });
                              };
                                    };
                              
                            });                      
        
        
        
        $(".submit_top_blue_two").click(function(){
                          
                                if($(".form_order_sred_three input[name='name']").val() == ''  || $(".form_order_sred_three input[name='name']").val() == "Введите Ваше РёРјСЏ"){
                                    $(".form_order_sred_three input[name='name']").css('border', '1px solid red');
                                } else {
                                    $(".form_order_sred_three input[name='name']").css('border', 'none');
                                    if($(".form_order_sred_three input[name='phone']").val() == "" || $(".form_order_sred_three input[name='phone']").val() == "Введите Ваш телефон"){
                                        $(".form_order_sred_three input[name='phone']").css('border', '1px solid red');
                                    } else {
                                        $(".form_order_sred_three input[name='phone']").css('border', 'none');
                                        

                                var name = $(".form_order_sred_three input[name='name']").val();
                                var phone = $(".form_order_sred_three input[name='phone']").val();
                                
                                
                                $.ajax({
                                    url: 'email.php',
                                    type: "POST",
                                    data: {'phone': phone, 'name': name},
                                    success: function(data){
                                        p.css('display', 'block');
                                        $('.popup__close_buy').after(data);
                                        
        p.click(function(event) {
        z = event || window.event;
        if (z.target == this) {
            $(".del").remove();
            $(p).css('display', 'none');
        }
    });
    
    $('.popup__close_buy').click(function() {
    $(".del").remove();
    p.css('display', 'none');
    });
                                    }
                                    
                                  });
                              };
                                    };
                              
                            });
        
});

Буду благодарен за помощь
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexforce2
alexforce2
сообщение 11.7.2014, 19:38; Ответить: alexforce2
Сообщение #2


javascript код - такую простыню никто разбирать бесплатно не будет(ну разве что за редким исключением).
Если готовы заплатить несколько сот рублей - готов помочь.
skype: alexforce-2
email: alexforce2@yandex.ru

Сообщение отредактировал alexforce2 - 11.7.2014, 19:39
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
saifym
saifym
сообщение 11.7.2014, 19:50; Ответить: saifym
Сообщение #3


Передается два значения: phone и name

Будет что-то вроде

Код
<?php

$phone = $_POST['phone'];

$name = $_POST['name'];

mail("mail@example.com", "Тема сообщения", "Телефон {$phone}\nИмя:{$name}");

?>


http://php.net/manual/ru/function.mail.php

Сообщение отредактировал saifym - 11.7.2014, 19:53
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
IvanChe
IvanChe
сообщение 13.7.2014, 22:51; Ответить: IvanChe
Сообщение #4


Всего 2 значения передаешь, зачем столько жести на клиент выносить ? К тому же клиентскую валидацию обойти проще простого. Почему бы не сделать валидацию красиво в ооп стиле на сервере, а на клиенте через аякс валидировать ? И заспамят в 2 счета такую жесть обычный автоматический бот.
Могу обрисовать, как делаю. Это очень просто на самом деле и надежно.
1. Создай класс(или функции) для валидации входящих данных. После валидации отдавай json с двумя элементами: error, который может быть 0 или 1, и msg, который содержит сообщение об ошибке, либо, что всё хорошо.
2. Весь js-код сводится к отправке значение на урл для валидации и получение ответа от сервера.
Код
<script>
jQuery('.form_order a').on('click', function(event){
    event.preventDefault();
    var href = jQuery(this).attr('href'),
        name = jQuery('input[name="name"]', '.form_order').val(),
        phone = jQuery('input[name="phone"]', '.form_order').val();
    if(href == undefined)
        return false;
    jQuery.ajax({
        url: href,
        type: "POST",
        data: {name: name, phone: phone}
    }).always(function(data){
        if(data.error == 1){
            // ...
            // Можно как-то расширенно среагировать на ошибку
            // ...
        }
        alert(data.msg);
    });
});
</script>

3. Чтобы не спамил каждый школьник со своим ботом, установи Ботобор

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал IvanChe - 13.7.2014, 22:54
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен простой лендинг с формой обратной связи
10 Kuzzma 2560 11.9.2020, 21:33
автор: Kuzzma
Открытая тема (нет новых ответов) Обработаю ваши заявки в GoGetLinks и Miralinks
60 руб. за статью с картинкой и размещением
3 Ekaterina_vishnyakova 2181 24.7.2019, 17:43
автор: Ekaterina_vishnyakova
Открытая тема (нет новых ответов) Настройка каптчи на форму обратной связи
3 woolf 2030 9.4.2019, 17:21
автор: bobur
Открытая тема (нет новых ответов) Нужны лиды (заявки от клиентов)!
1 rownong27 2159 12.9.2017, 16:54
автор: Gena_davydov
Открытая тема (нет новых ответов) Спам через форму обратной связи на сайте
14 Evgeniy3200 8082 15.5.2017, 20:53
автор: samvel32453


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:51
Дизайн