Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
iamlorddop

Yulia Khavaeva

  • 3
    вклад
  • 18
    вопросов
  • 9
    ответов
  • 33%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • В чем моя ошибка при подключении СSS?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Для link используют атрибут href и уже по нему находят файл, могут быть и проблемы с кириллицей, пробелами. Лучше всего конечно, если подключение выглядело бы так:
    <link rel="stylesheet" href="/css/style.css" type="text/css">
    Написано 04 янв.
  • Какие блоки использовать для указанных блоков?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Используйте grid в css, для header тег header, для footer тег footer, для бокового (если это навигация сайта) nav, для главного раздела сайта main, и дальше верстайте
    Написано 04 янв.
  • Как сделать такой ховер в навигации?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    посмотрите как это реализовано на сайте
    Написано 25 нояб. 2022
  • Как сделать такой ховер в навигации?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Сергей delphinpro, на скрине с серым фоном то что
    Написано 25 нояб. 2022
  • Как сделать такое окно который можно открыть с помощью CSS?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Делается два блока, один из них изначально скрыт. На них вещаете событие через класс. Второй блок изначально скрываете, потом через js применяете для него стили.

    let spoilerBig = document.querySelectorAll('.spoilers-item__big');
    let spoilerBtn = document.querySelectorAll('.isshow');
    let spoilerBtnClose = document.querySelectorAll('.isclose');
    function spoilerShow() {
    spoilerBtn.forEach(e => {
    e.addEventListener( "click" , ({target}) => {
    target.closest('.spoilers-item').nextSibling.nextSibling.classList.add('is-show');
    });
    });
    spoilerBtnClose.forEach(e => {
    e.addEventListener( "click" , ({target}) => {
    target.closest('.spoilers-item__big').classList.remove('is-show');
    });
    })
    };
    let faqBtns = document.querySelectorAll('.istoggle');
    faqBtns.forEach(e => {
    e.addEventListener( "click" , ({target}) => {
    target.classList.toggle('rotate');
    target.closest('.faq__item').nextSibling.nextSibling.classList.toggle('isfaqshow');
    });
    });
    spoilerShow()

    Вот старый мой код
    Написано 04 нояб. 2022
  • Почему не работает код после отправки формы? Что нужно исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Aleksey Levickyj, ооо спасибо большое, наконец-то сработало и поняла что не так!
    Написано 25 сент. 2022
  • Почему не работает код после отправки формы? Что нужно исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Aleksey Levickyj, она работает, отметила какая часть не срабатывает, возможно это нужно как-то по-другому написать

    document.addEventListener('DOMContentLoaded', function() {
      const form = document.querySelector(".js-form");  
      form.addEventListener('submit', formSend);
    
      async function formSend(e) {
        e.preventDefault();
        
        let error = formValidate(form);
    
        let formData = new FormData(form);
    
        if(error === 0){
          let response = await fetch('sendemail.php',{
            method: 'POST',
            body: formData
          });
          if (response.ok) {
            let result = await response.json();
            alert(result.message);
    
    /*================ Не работает ================*/
            document.querySelectorAll('#btn').forEach(item => { 
              item.addEventListener('onsubmit', () => { 
                  document.getElementByClassName('training__thanks').style.display = 'flex'; 
              }); 
            });
    /*================ Не работает ================*/
    
            form.reset();
          } else {
            alert('Ошибка');
          }
        } else {
          alert('Заполните обязательные поля');
        }
      }
    
      function formValidate(form){
        let error = 0;
        let formReq = document.querySelectorAll('.req');
    
        for (let index = 0; index < formReq.length; index++){
          const input = formReq[index];
          formRemoveError(input);
    
          if(input.classList.contains('email')){
            if (emailTest(input)){
              formAddError(input);
              error ++;
            }
          } else if(input.classList.contains('phone')) {
            if (phoneTest(input)){
              formAddError(input);
              error ++;
            }
          } else if(input.getAttribute("type") === "checkbox" && input.checked === false) {
            formAddError(input);
            error++;
          } else {
            if (input.value === '') {
              formAddError(input);
              error ++;
            }
          }
        }
        return error;
      }
    
      function formAddError(input) {
        input.parentElement.classList.add('error');
        input.classList.add('error');
      }
    
      function formRemoveError(input) {
        input.parentElement.classList.remove('error');
        input.classList.remove('error');
      }
      // --------------------- Validate -------------------- //
      function emailTest(input) {
        return !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(input.value);
      }
      
      function phoneTest(input) {
        return !/^(\+7|7|8)?[\s\-]?\(?[489][0-9]{2}\)?[\s\-]?[0-9]{3}[\s\-]?[0-9]{2}[\s\-]?[0-9]{2}$/.test(input.value);
      }
    });
    Написано 25 сент. 2022
  • Почему не работает код после отправки формы? Что нужно исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Не помогло(
    Написано 25 сент. 2022
  • Почему не работает код после отправки формы? Что нужно исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    black1277, не в этом дело, я выделила текст, который не работает

    async function formSend(e) {
        e.preventDefault();
        
        let error = formValidate(form);
    
        let formData = new FormData(form);
    
        if(error === 0){
          let response = await fetch('sendemail.php',{
            method: 'POST',
            body: formData
          });
          if (response.ok) {
            let result = await response.json();
            alert(result.message);
    
    /* ========================================================================== */
            document.querySelectorAll('#btn').forEach(item => { 
              item.addEventListener('onsubmit', () => { 
                  document.getElementsByClassName('training__thanks').style.display = 'flex'; 
              }); 
            });
    /* ========================================================================== */
    
            form.reset();
          } else {
            alert('Ошибка');
          }
        } else {
          alert('Заполните обязательные поля');
        }
      }
    Написано 24 сент. 2022
  • Не до конца правильно работает добавление текста на страницу, как исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Отличное решение, спасибо!
    Написано 22 сент. 2022
  • Не до конца правильно работает добавление текста на страницу, как исправить?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Спасибо большое, так заработала, в одно и другое место это два разных блока на странице, как поняла innerHTML работает так, что только в одно место добавляет
    Написано 22 сент. 2022
  • Как убрать блок с помощью JS и добавить новый после отправки формы?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Да там по итогу заказчики решили не делать popup, а просто открытую форму, поэтому так)
    Спасибо, очень помогли
    Написано 21 сент. 2022
  • Почему-то не работает отправка формы, почему?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Антон Антон, тогда возвращает ошибку что тип не определен, я исправила вопрос, посмотрите
    Написано 20 сент. 2022
  • Почему-то не работает отправка формы, почему?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Дмитрий, тогда возвращает ошибку что тип не определен, я исправила вопрос, посмотрите
    Написано 20 сент. 2022
  • Не работает PHPMailer, что делать?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Ипатьев, вот код
    <?php
    	use PHPMailer\PHPMailer\PHPMailer;
    	use PHPMailer\PHPMailer\Exception;
    	require "./PHPMailer/src/PHPMailer.php";
    	require "./PHPMailer/src/Exception.php";
    
    	$mail = new PHPMailer(true);
    	$mail->CharSet = "UTF-8";
    
    	$name = $_POST["name"];
    	$tel = $_POST["tel"];
    	$email = $_POST["email"];
    
    	$theme = '[ЗАЯВКА НА ТРЕНИНГ]';
    	$body = 'Имя:' . $name . 'Телефон: ' . $tel . 'Email: ' . $email;
    
    	// send to
    	$mail->addAddress("mail@mail.mail");
    	
    	$mail->Subject = $theme;
    	$mail->Body = $body;
    
    	$mail->send();
    ?>


    и где
    use PHPMailer\PHPMailer\Exception;
    пишет что Symbol 'Exception' is declared but not used

    После отправки формы выходит такое:6329ca276c2ab358949562.jpeg
    Написано 20 сент. 2022
  • Не работает PHPMailer, что делать?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Почему-то все равно не работает use PHPMailer\PHPMailer\Exception; и пишет что Symbol 'Exception' is declared but not used
    Написано 20 сент. 2022
  • Можно ли позиционировать один див класс на нескольких точках местах?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Ну думаю здесь только прописать общий стиль классом и потом отдельными классами позиционировать
    Написано 06 авг. 2022
  • Почему сужается div class?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Muslim Mamaev, всегда пожалуйста, рада помочь, я сейчас сама только начала их изучать. Учишь других и сам учишься, как говорится
    Написано 05 авг. 2022
  • Как сделать наклон текста как на картинке?

    iamlorddop
    Yulia Khavaeva @iamlorddop
    Сергей, это супер!
    Написано 03 авг. 2022
  • Почему контейнер не реагирует на заданные ему свойства?

    iamlorddop
    Yulia Khavaeva @iamlorddop Автор вопроса
    Спасибо!
    Написано 03 авг. 2022
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • Yorido Satoshi
    • 13 ответов
    • 0 вопросов
  • Evgenii
    • 11 ответов
    • 0 вопросов
  • Enokin
    Владислав
    • 8 ответов
    • 0 вопросов
  • pantsarny
    • 7 ответов
    • 0 вопросов
  • Drno
    • 7 ответов
    • 0 вопросов
  • Vindicar
    Vindicar
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации