Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.06.2017, 00:00
Новичок на форуме
Отправить личное сообщение для aalegz Посмотреть профиль Найти все сообщения от aalegz
 
Регистрация: 16.06.2017
Сообщений: 5

Отображение / скрытие формы через UTM
Задача состоит в том, что бы в зависимости от параметра, прописанного в UTM форма на сайте отображалась или скрывалась. В JS совсем ничего не понимаю, поэтому пишу почти наугад. Просьба знатоков подсказать решение данной проблемы. На данный момент вариант такой:

Ссылка: https://www.example.com/?utm_source=mywebsite

Решение:

header form#al-form {
    if (source == mywebsite){
    display: none;
    } else {
        display: inline-block;
    }
    position: relative;
    width: 320px;
    background: #50251a;
    padding: 25px 25px 40px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;


Оригинальный код:

header form#al-form {
    display: inline-block;
    position: relative;
    width: 320px;
    background: #50251a;
    padding: 25px 25px 40px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;


Огромное спасибо за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2017, 00:17
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<head>
	<meta charset="utf-8">
</head>
<body>
	<script>
	var a = location.href.split("=");
	if (a[a.length - 1] == "mywebsite") document.getElementById("al-form").style.display = 'none';
	</script>
</body>


не советую

Последний раз редактировалось j0hnik, 17.06.2017 в 00:23.
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2017, 00:29
Новичок на форуме
Отправить личное сообщение для aalegz Посмотреть профиль Найти все сообщения от aalegz
 
Регистрация: 16.06.2017
Сообщений: 5

Сообщение от j0hnik Посмотреть сообщение
<head>
	<meta charset="utf-8">
</head>
<body>
	<script>
	var a = location.href.split("=");
	if (a[a.length - 1] == "mywebsite") document.getElementById("al-form").style.display = 'none';
	</script>
</body>


не советую
Что-то не получается((
Нужно просто вставить этот фрагмент в код, открыть индекс в браузере и добавить UTM? Или еще дополнительные манипуляции требуются?
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2017, 00:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от aalegz Посмотреть сообщение
Что-то не получается((
Нужно просто вставить этот фрагмент в код, открыть индекс в браузере и добавить UTM? Или еще дополнительные манипуляции требуются?
вставить перед </body> но будет работать только если страница загружается с данным параметром.
Было бы больше информации или макет, подсказали бы адекватное решение, а это так первое что в голову пришло.
<script>
	var a = location.href.split("=");
	if (a[a.length - 1] == "mywebsite") document.getElementById("al-form").style.display = 'none';
	</script>
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2017, 01:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от aalegz
if (source == mywebsite){
display: none;
} else {
display: inline-block;
}
Это как "влезть" в CSS процессор с JS? )

Такое можно сделать на сервере, проверив GET параметры запроса - если есть ключ/значение определенное, то прописать соответствующий стиль в теле документа.
Ответить с цитированием
  #6 (permalink)  
Старый 17.06.2017, 20:38
Новичок на форуме
Отправить личное сообщение для aalegz Посмотреть профиль Найти все сообщения от aalegz
 
Регистрация: 16.06.2017
Сообщений: 5

Сообщение от j0hnik Посмотреть сообщение
вставить перед </body> но будет работать только если страница загружается с данным параметром.
Было бы больше информации или макет, подсказали бы адекватное решение, а это так первое что в голову пришло.
<script>
	var a = location.href.split("=");
	if (a[a.length - 1] == "mywebsite") document.getElementById("al-form").style.display = 'none';
	</script>
К сожалению, не сработал данный пример. Залил на хостинг, все сделал как нужно и ничего((
Возможно, есть еще какие-то решения?
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2017, 00:42
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<script>
  var a = location.href;
  if (a.match(/mywebsite/) document.getElementById("al-form").style.display = 'none';
</script>

Попробуйте так
Ответить с цитированием
  #8 (permalink)  
Старый 18.06.2017, 12:07
Новичок на форуме
Отправить личное сообщение для aalegz Посмотреть профиль Найти все сообщения от aalegz
 
Регистрация: 16.06.2017
Сообщений: 5

Сообщение от j0hnik Посмотреть сообщение
<script>
  var a = location.href;
  if (a.match(/mywebsite/) document.getElementById("al-form").style.display = 'none';
</script>

Попробуйте так
В чем может быть причина, если не работает и в таком виде?
<script>
document.getElementById("al-form").style.display = 'none';
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 18.06.2017, 13:20
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от aalegz Посмотреть сообщение
В чем может быть причина, если не работает и в таком виде?
<script>
document.getElementById("al-form").style.display = 'none';
</script>
1)проверьте правильность id у элемента.
2)скрипт должен подключаться в конце документа.
консоль вам в помощь

Последний раз редактировалось j0hnik, 18.06.2017 в 13:25.
Ответить с цитированием
  #10 (permalink)  
Старый 18.06.2017, 21:52
Новичок на форуме
Отправить личное сообщение для aalegz Посмотреть профиль Найти все сообщения от aalegz
 
Регистрация: 16.06.2017
Сообщений: 5

Сообщение от j0hnik Посмотреть сообщение
1)проверьте правильность id у элемента.
2)скрипт должен подключаться в конце документа.
консоль вам в помощь
Спасибо большое, помог вариант ниже, проблема была в том, что добавлял код в начале Боди, а заработало когда добавил в конце.

script>
    var a = location.href.split("=");
    if (a[a.length - 1] == "mywebsite") document.getElementById("al-form").style.display = 'none';
    </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая отправка формы через JavaScript без использования body onload pavluxa09 Общие вопросы Javascript 0 17.11.2009 15:55
Скрытие iframe через js Veter Events/DOM/Window 7 03.10.2009 01:16
Достучаться до формы во фрейме через объект d0ublezer0 Events/DOM/Window 6 02.07.2009 17:09
Скрытие курсора через промежуток времени najrobi Internet Explorer 5 02.07.2009 16:32
Обновление формы через н сек zerg Элементы интерфейса 5 01.05.2009 16:50