Задать вопрос
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    Илья, любой свой id подставьте и покажите как поставить пустым полям border...
    Что касается пункта A, то мне хотелось бы установить серверную проверку при помощи php. Она даже есть, но почему то, она перестала работать...
    //if(isset($_POST['submit'])){
                         $to = 'a.kovalkovsky@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['email']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
    		          $err['email'] = 'Вы ввели не корректный email';
    			  $error = true;
    		     }
                         if (empty($name)){
    		          $err['name'] = 'Вы не ввели имя';
    			  $error = true;
    		     }
    
    
                        // if(!$error){
                            $tema = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                           // if(mail($to, $subject, $sms, $headers)){
                               //  header('Location: /otzivi.php');
                           // }
                        // }
                    // }
  • Столкновение двух js файлов?

    @Alex_87 Автор вопроса
    Никита Полевой, Я к тому, что если поля пустые то в переменную $err записывается текст (свой) ошибки. До ajax всё отлично работало, а сейчас нет. Ведь сам скрипт заходит в form.php Мне казалось, что он что-то сможет вывести! А так получается, что обработка формы происходит только посредством ajax. Но я точно знаю, что к примеру в той же форме, они могут действовать вместе. Так и должно быть. Валидация должна быть с двух сторон, поскольку если она будет только со стороны клиента, то сам пользователь сможет легко её отключить! Так как сделать её в том числе и на php? С этим ajax кодом, это возможно? P.S. А ка вы ищите информацию? Вот данный код $( document ).on('submit', 'form', function() {})
    Вы сами додумали или может покопались в документации?
  • Столкновение двух js файлов?

    @Alex_87 Автор вопроса
    Никита Полевой, Никита, огромное вам спасибо!!!!!! Ещё один, по этой теме последний вопрос! Но сначала, вот что хотел узнать... Что вы читали, проходили? Как до своего уровня дошли? Я бы долго до этого решения доходил) С синтаксисом беда! ... Вопрос такой... Как мне, в случае, если поля пустые, окрасить рамкой в какой-то цвет
    window.onload = function(){
    $(document).ready(function() {
        $( document ).on('submit', 'form', function(event) {
            event.preventDefault();
            if (document.form.name.value == '' || document.form.phone.value == '' ) {
               // код для окраски рамок для пустых полей
                valid = false;
                return valid;
            }
            $.ajax({
                type: "POST",
                url: "form.php",
                data: $(this).serialize()
            }).done(function() {
                alert('Спасибо');
            });
            return false;
        });
      });
    };

    И ещё
    В коде, как я понял, идёт обращение в php файл. Там у меня прописаны вывод ошибок, но почему-то они не выводятся. Почему?
    $to = 'a.kovalkovsky@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['email']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
    		          $err['email'] = 'Вы ввели не корректный email';
    			  $error = true;
    		     }
                         if (empty($name)){
    		          $err['name'] = 'Вы не ввели имя';
    			  $error = true;
    		     }
    
    
                        // if(!$error){
                            $tema = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                           // if(mail($to, $subject, $sms, $headers)){
                               //  header('Location: /otzivi.php');
                           // }
  • Столкновение двух js файлов?

    @Alex_87 Автор вопроса
    Никита Полевой, вы имеете ввиду, что событие на 7 строчке должно быть подвешено при появлении формы? То есть нужно что-то дописать, вроде... При document.querySelector('кнопка').onclick и включить обработчик document.querySelect('#form').submit.... А как это сделать, синтаксически?
  • Что означает ошибка http://ajax/img/back_foot.png [HTTP/1.1 404 Not Found 12мс] и как её исправить?

    @Alex_87 Автор вопроса
    Но почему)? скрипт стоит в index.php В чём может быть проблема? Посмотрите пожалуйста! Ссылка: https://yadi.sk/d/LXTehDyH3NXMRL
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Никита Полевой, не работает... происходит перезагрузка страницы, а этого быть не должно! Я для этого ajax запрос и применяю здесь. В чём может быть причина?
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Никита Полевой, Хорошо, сейчас исправлю и пришлю... Удалите ту версию
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Никита Полевой, Так у меня это ошибка TypeError: forms is null в результате склейвания и ушла)))) Я вас очень прошу!!! Помогите с кодом!
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Никита Полевой, я исправил код и вновь выношу его в вопросе. Модальное окно появилось, но ajax запрос не работает! Может дело в этой ошибки?59d76503e243e352958232.png
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Егор Живагин, Товарищ, я бы с радостью это сделал. Вы думаете, тот путь, что я выбрал, быстрее? Просто там есть и внешние файлы, которые я не могу подключить в jfiddle... Я очень надеюсь, что вы всё же посмотрите мой код.
  • Ошибка: TypeError: forms is null?

    @Alex_87 Автор вопроса
    Никита Полевой, дело не в том, что я не проверял. Я же писал, что уже долго пытаюсь разобраться. Дело в том, что я не подключил нужный файл. Сейчас я сброшу новый рабочий код, и я надеюсь, что вы сможете подсказать почему не работает ajax запрос
  • Как сделать так, чтобы при нажатии на кнопку форма, встроенная в модальное окно, не исчезала?

    @Alex_87 Автор вопроса
    trenrnd,
    Вот код модального окна. Закрытие подвешено только на overlay
    /* Модальное окно */
    function Popup(options){
        this.modal = document.querySelector(options.modal);
        this.overlay = document.querySelector(options.overlay);
        
        var popup = this;
        
        this.open = function(content){
            popup.modal.innerHTML = content;
            popup.overlay.classList.add('open');
            popup.modal.classList.add('open');
            
            popup.modal.querySelector('.popupcontact')
                           .style.display = "block"
        }
        
        this.close = function(){
            popup.overlay.classList.remove('open');
            popup.modal.classList.remove('open');
        }
        
        this.overlay.onclick = popup.close;
        
    }
    
    window.onload = function(){
        var p = new Popup({
            modal: '.modal',
            overlay: '.overlay'
        });
        
        
        document.querySelector('.for').onclick = function(){
            var form = document.querySelector('.popupcontact');
            p.open(form.outerHTML);
        };
    }
  • Как сделать так, чтобы при нажатии на кнопку форма, встроенная в модальное окно, не исчезала?

    @Alex_87 Автор вопроса
    twobomb, Мне нужно прописать условие. Если есть ошибка, форму не закрывать. Как это можно перевести на php/js?
  • Как сделать так, чтобы при нажатии на кнопку форма, встроенная в модальное окно, не исчезала?

    @Alex_87 Автор вопроса
    twobomb, а как её не закрывать? Я ничего не прописывал для закрытие формы. Она может закрыться только при нажатии на тёмный фон
  • Как сделать так, чтобы при нажатии на кнопку форма, встроенная в модальное окно, не исчезала?

    @Alex_87 Автор вопроса
    Вот в том то и проблема, что нет функции js на эту кнопку. Закрытие формы происходит только при нажатии на overlay(тёмный фон)
  • Правильно ли написан php код?

    @Alex_87 Автор вопроса
    Cesavel, там всё пусто... Почему ещё может не работать функция mail()?
  • Правильно ли написан php код?

    @Alex_87 Автор вопроса
    Exploding, я немного не понял к чему это, но я сделал это. Всё осталось без изменений
    Кстати, я исправил input c type="submit" добавив name="submit" Может, вы это имели ввиду... Что ещё можно сделать, чтобы функция mail наконец-то заработала?
  • Как избавиться от уведомления при перезагрузки браузера?

    @Alex_87 Автор вопроса
    SharuPoNemnogu, Я только сейчас заметил, что при отправке пустых полей, из-за редиректа у меня не отображаются ошибки, что я для пустых полей прописал. Очень жаль... ведь редирект помог!
  • Как избавиться от уведомления при перезагрузки браузера?

    @Alex_87 Автор вопроса
    SharuPoNemnogu,
    if(isset($_POST['submit'])){
                         $to = 'a.sansan@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['e-mail']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
    		          $err['email'] = 'Вы ввели не корректный email';
    			  $error = true;
    		     }
                         if (empty($name)){
    		          $err['name'] = 'Вы не ввели имя';
    			  $error = true;
    		     }
    
    
                         if(!$error){
                            $subject = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                         }
                          header('Location: /index.php');
                          exit;
                     }

    <div class="contact">
                <div class="wrapper">
                     <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
                     <form action="" method="post" class="form">
                         <input type="text" placeholder="Ваше имя" name="name" value="<?=$_POST['name']?>"  />
                            <p class="err n" style="color:red"><?=$err['name']?></p>
                         <input type="e-mail" placeholder="Ваша почта" name="e-mail" value="<?=$_POST['email']?>" />
                            <p class="err e" style="color:red"><?=$err['email']?></p>
                         <input type="text" placeholder="Ваш Skype"  name="skype" value="<?=$_POST['skype']?>" />
                         <textarea name="sms" id="" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$_POST['sms']?>"></textarea>
    
                         <div>
                            <input type="submit" name="submit" value="Оставьте заявку" />
                         </div>
                     </form>
                  </div>
             </div>


    А ошибки - нет!