За последние 24 часа нас посетили 17648 программистов и 1671 робот. Сейчас ищут 1498 программистов ...

Проверка и установка полю формы стилей при ajax запросе?

Тема в разделе "JavaScript и AJAX", создана пользователем Алексей87К, 7 окт 2017.

Метки:
  1. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Здравствуйте! Имеется рабочий код:
    Первый вопрос: Как указать стили для нужных полей? Что записать после проверки if()? Я синтаксис не знаю...
    Код (Javascript):
    1. window.onload = function(){
    2. $(document).ready(function() {
    3.     $( document ).on('submit', 'form', function(event) {
    4.         event.preventDefault();
    5.         if (document.form.name.value == '' || document.form.phone.value == '' ) {
    6.            // код для стилей указанных элементов (к примеру, как указать стили для поля name = "email")
    7.             valid = false;
    8.             return valid;
    9.         }
    10.         $.ajax({
    11.             type: "POST",
    12.             url: "form.php",
    13.             data: $(this).serialize()
    14.         }).done(function() {
    15.             alert('Спасибо');
    16.         });
    17.         return false;
    18.     });
    19.   });
    20. };
    Второй вопрос: Код выше, ссылается на form.php Я так понимаю, что он заходит в этот файл, отсюда у меня и вопрос... В файле form.php имеется код, который берёт данные посредством метода POST и проверяет на пустые поля. Если поля пустые то в переменную $err записывается текст (свой) ошибки. До ajax всё отлично работало, а сейчас нет. Ведь сам скрипт заходит в form.php Мне казалось, что он что-то сможет вывести! А так получается, что обработка формы происходит только посредством ajax. Но я точно знаю, что к примеру в той же форме, они могут действовать вместе. Так и должно быть. Валидация должна быть с двух сторон, поскольку если она будет только со стороны клиента, то сам пользователь сможет легко её отключить! Так как сделать её в том числе и на php? С этим ajax кодом, это возможно?
    PHP:
    1. $to = 'a.kovalkovsky@gmail.com';
    2.                      $tema = 'Новое сообщение';
    3.                      $name = strip_tags(trim($_POST['name']));
    4.                      $email = strip_tags(trim($_POST['email']));
    5.                      $skype = strip_tags(trim($_POST['skype']));
    6.                      $sms = strip_tags(trim($_POST['sms']));
    7.                      $message = "Имя пользователя: ".$name."\r\n";
    8.                      $message .= "Почта: ".$email."\r\n";
    9.                      $message .= "Skype: ".$skype."\r\n";
    10.                      $message .= "Сообщение: ".$sms."\r\n";
    11.                      $error = false;
    12.                      $err = array('email' => '', 'name' => '', 'sms' => '');
    13.  
    14.                      if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
    15.                   $err['email'] = 'Вы ввели не корректный email';
    16.               $error = true;
    17.              }
    18.                      if (empty($name)){
    19.                   $err['name'] = 'Вы не ввели имя';
    20.               $error = true;
    21.              }
    22.  
    23.  
    24.                     // if(!$error){
    25.                         $tema = "=?utf-8?B?".base64_encode($subject)."?=";
    26.                         $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
    27.                         mail($to, $tema, $message, $headers);
    28.                        // if(mail($to, $subject, $sms, $headers)){
    29.                            //  header('Location: /otzivi.php');
    30.                        // }