Ответы пользователя по тегу JavaScript
  • Как добавить галочку checkbox в форму обратной связи?

    @pmozil
    В форму добавить чекбокс,но насколько помню,мне не удалось с помощью атрибута required защититься от спама.
    <div class="form-01 consult-form js-consult-form__content">
                  <h2 class="form-01__title">Обратная связь</h2>
                  
                  <form class="form-01__form" name="contact-form" method="post" action="https://###.ooo/assets/php/contact.php">
                    <div class="form__item form__item--03">
                      <input type="text" name="name" placeholder="Ваше Имя"/>
                    </div>
                    <div class="form__item form__item--03">
                      <input type="text" name="phone" placeholder="Ваш Телефон"/>
                    </div>
                    <div class="form__item form__item--03">
                      <input type="email" name="email" placeholder="Ваш Email"/>
                    </div>
                    <div class="form__item">
                      <textarea rows="5" name="message" placeholder="Сообщение"></textarea>
                    </div>
                    <div class="form__button">
                        <button type="submit" class="btn btn-primary btn-w180">Отправить</button>
                    </div>
    <div>
     <input type="checkbox" id="agree" name="agree"
             required>
      <label for="agree">Текст о защите данных</label>
    </div>
                  </form>
                </div>

    Защиту от спама реализовал с помощью скрытых(от пользователя,но спам-бот их видит) полей и проверкой на заполнение этих полей.Если они заполнены,то это бот,так как только он может их видеть.
    Например создать
    $name2 = $_POST['name2'];
    и
    $email = $_POST['email'];
    и проверка php:
    if ($_POST['name2']!='' || $_POST['email2']!=''){
      die('Сообщение не отправлено,так как ты бот');
    }

    и надо добавить эти поля в HTML документ,но прописать им свойство display:none в css файле.
    <div class="form-01 consult-form js-consult-form__content">
                  <h2 class="form-01__title">Обратная связь</h2>
                  
                  <form class="form-01__form" name="contact-form" method="post" action="https://###.ooo/assets/php/contact.php">
                    <div class="form__item form__item--03">
                      <input type="text" class="validator" name="name2" placeholder="Ваше Имя">
    	    			<input type="text" class="validator" name="email2" placeholder="Ваш Email">
     
    <input type="text" name="name" placeholder="Ваше Имя"/>
                    </div>
                   <div class="form__item form__item--03">
                      <input type="text" name="phone" placeholder="Ваш Телефон"/>
                    </div>
                    <div class="form__item form__item--03">
                      <input type="email" name="email" placeholder="Ваш Email"/>
                    </div>
                    <div class="form__item">
                      <textarea rows="5" name="message" placeholder="Сообщение"></textarea>
                    </div>
                    <div class="form__button">
                        <button type="submit" class="btn btn-primary btn-w180">Отправить</button>
                    </div>
    <div>
     <input type="checkbox" id="agree" name="agree"
             required>
      <label for="agree">Текст о защите данных</label>
    </div>
                  </form>
                </div>
    Ответ написан
    1 комментарий
  • Как из nodeList выбрать элемент, имеющий определённый класс?

    @pmozil
    window.onload = function(){
     let items = document.querySelectorAll('.carusel__item');
    
    for (var i = 0; i < items.length; i++){
    	 items[i].onclick = activeItem;
    }
     function activeItem(){
       this.classList.toggle('carusel__item_active');
     }
    
    }
    Ответ написан
    Комментировать