Ответы пользователя по тегу JavaScript
  • Как переходя по ссылке с главной страницы открывать нужную вкладку аккордеона на внутренней?

    @dima_maketov Автор вопроса
    Мои тупые вопросы вносят вклад в сообщество.
    Спасибо за ответы, возможно кому-то понадобиться, реализовал так:
    Главная страница, где есть ссылки:
    <div class="link_list first_answ">
    						<a href="/pismennyi-perevod.html#perevod-dokumentacii" class="service_name">Перевод документации</a>
    						<a href="/pismennyi-perevod.html#korrektirovka" class="service_name">Корректировка документов</a>
    						<a href="/pismennyi-perevod.html#redaktirovanie" class="service_name">Редактирование документов<br>(носителями языка) </a>
    						<a href="/pismennyi-perevod.html#verstka" class="service_name">Верстка</a>
    						<a href="/pismennyi-perevod.html#reraiting" class="service_name">Рерайтинг</a>
    						<a href="/pismennyi-perevod.html#transkribirovanie" class="service_name">Транскрибирование</a>
    						<a href="/pismennyi-perevod.html#notarialnoe-zaverenie" class="service_name">Нотариальное заверение<br>переводов </a>
    						<a href="/pismennyi-perevod.html#dostavka-raspechatka" class="service_name">Доставка и распечатка<br>документов </a>
    					</div>

    Внутрення, где аккардеон:
    <a href="#" class="service_name_item" data-name="perevod-dokumentacii">Перевод документации</a>
    							<div class="service_content_item">
    								<p><strong>Перевод документации</strong><br>Мы предлагаем перевод технической, медицинской, юридической и иной документации высококвалифицированными профильными специалистами.</p>
    								<a href="#order" class="button magnific-popup blue_button" data-theme="Перевод документации">Получить консультацию по&nbsp;услуге</a>
    							</div>
    							<a href="#" class="service_name_item" data-name="korrektirovka">Корректировка документов</a>
    							<div class="service_content_item">
    								<p><strong>Корректировка документов</strong><br>Корректировка документа с целью устранения грамматических, орфографических, синтаксических ошибок, технических погрешностей</p>
    								<a href="#order" class="button magnific-popup blue_button" data-theme="Корректировка документов">Получить консультацию по&nbsp;услуге</a>
    							</div>

    JQuery
    if(window.location.hash){ //Проверяем, есть ли в ссылке, по которой перешел пользователь хэштег
    		var $hash = window.location.hash, //получаем названием, например #verstka
    			$hash_text = $hash.substr(1); // убираем первую строчку, т.е "#"
    // далее мой код аккордеона
    		$('.service_name_item').next().hide(); 
    		$('.service_name_item[data-name="'+ $hash_text +'"]').addClass('active');  //я реализовал нахождение нужного объекта для показа через data-атрибуты(см. HTML)
    //ищем есть ли .service_name_item с data-name'ом verstka, и даем ему класс active
    		$('.service_name_item.active').next().show(); // открываем следующий блок(показываем содержимое вкладки аккордеона)
    		$('.service_name_item').click(function(){
    			if($(this).hasClass('active')){
    			}else{
    				$(this).addClass('active');
    				$(this).next().slideToggle();
    				$('.service_name_item').not(this).next().stop(true,true).slideUp();
    				$('.service_name_item').not(this).removeClass('active');
    			}
    		});
    	}
    Ответ написан
    1 комментарий
  • Почему приходят пустые сообщения на почту с формы обратной связи?

    @dima_maketov Автор вопроса
    Мои тупые вопросы вносят вклад в сообщество.
    Подсказали ответ в одном из чатов в Телеграмме.
    В общем, на стороне клиента, видимо, не всегда удается делать проверки на заполненность полей, иными словами, плевал их браузер на required и периодически происходят такие отправки писем с пустым содержанием.
    Нужно производить проверки на стороне сервера, в контексте моей задачи мне подошел вот такой код:
    $num = 0;
    foreach ($_POST as $key => $value) {
    	if($value != '' && $value != ' '){
    		$num++;
    	}
    }
    if($num >= 4){ //если в массиве есть значения 4-х и более полей - производим отправку
    	mail($admin_email, adopt($form_subject), $message, $headers );
    }
    Ответ написан
    8 комментариев