Jump to content
  • 0

Почему checkbox не проставляется?


borus
 Share

Question

Здравствуйте!

Дорабатываю форму, которая открывается по клику на кнопку "Заказ в 1 клик". Внизу разместил чекбокс. Скажите, пожалуйста, почему по клику по нему галочка не проставляется?

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
1 час назад, Svetlana_P сказал:

Какой-то JS код мешает, потому что с отключенной jQuery библиотекой проблема исчезает. Вам нужна помощь того, кто в этом разбирается.

Спасибо. Кстати, как это вы эмулируете в браузере, отключение jquery? Я попытался изменить в коде страницы путь к jquery.min.js и не добился того, чего вы

Link to comment
Share on other sites

  • 0
	//чтобы по клику на форме быстрого заказа, она не закрывалась обработчиком клика по #aux
	$("#contactForm_oneclick").click( function(e){
		if(e.target.getAttribute('class') != 'addtocart_button') {
			return false;
		}
	})

сюда надо так же добавить и проверку на чекбокс 

  • Like 1
Link to comment
Share on other sites

  • 0
4 часа назад, borus сказал:

Кстати, как это вы эмулируете в браузере, отключение jquery?

Наверняка какой-нибудь плагин есть для этого, не знаю :) Я просто сохранила к себе страницу для проверки и удалила строку с библиотекой. Потому что уже встречала нечто подобное на другом проекте.

  • Like 1
Link to comment
Share on other sites

  • 0
16 часов назад, klierik сказал:

	//чтобы по клику на форме быстрого заказа, она не закрывалась обработчиком клика по #aux
	$("#contactForm_oneclick").click( function(e){
		if(e.target.getAttribute('class') != 'addtocart_button') {
			return false;
		}
	})

сюда надо так же добавить и проверку на чекбокс 

Здравствуйте!

Залил на сайт вот такой вариант:

	$("#contactForm_oneclick").click( function(e){
		if(e.target.getAttribute('class') != 'addtocart_button' || e.target.getAttribute('id') == 'agree') {
			return false;
		}
	})

(id = "agree" как раз у галочки), но и он не помогает.

А зачем, в принципе, делать исключение для галочки, ведь она подпадает под условие e.target.getAttribute('class') != 'addtocart_button'?

Link to comment
Share on other sites

  • 0
6 минут назад, Николя223 сказал:

нда вы сами то поняли что в коде написали? ))

не или, а и. не сравнение, а не равно.

вообще лучше клик по  #aux переделать

поясните, пожалуйста, куда копать

Link to comment
Share on other sites

  • 0
1 hour ago, borus said:

А зачем, в принципе, делать исключение для галочки, ведь она подпадает под условие e.target.getAttribute('class') != 'addtocart_button'?

потому что любой клик вернет false, если это не не кнопка. В данном случае и чекбокс тоже не будет чекнут, если его не внести в исключения

Link to comment
Share on other sites

  • 0
1 час назад, klierik сказал:

потому что любой клик вернет false, если это не не кнопка. В данном случае и чекбокс тоже не будет чекнут, если его не внести в исключения

простите, я не понимаю как правильно ввести чекбокс в исключения, поясните пожалуйста на примере.

Link to comment
Share on other sites

  • 0

Доброе утро! Вот такой код решает проблему

	$("#contactForm_oneclick").click( function(e){
		if(e.target.getAttribute('class') != 'addtocart_button' || e.target.getAttribute('id') == 'agree') {
			e.stopPropagation();
		}
	})

Единственно, я бы хотел у вас узнать, почему раньше return false заставлял проставленную галочку сниматься? Ведь обработчик был не на галочке, а на каком-то пра-пра-дедушке(#contactForm_oneclick), который и формой не являлся, а лишь содержал её в себе.

Edited by borus
Link to comment
Share on other sites

  • 0
jQuery('#contactForm_oneclick').on('click.popup', function (e) {
	if (jQuery(e.target).hasClass('addtocart_button') || jQuery(e.target).eq(':input')) {
		e.stopPropagation()
	}
});

 

1 minute ago, borus said:

единственно я бы хотел у вас узнать, почему раньше return false заставлял проставленную галочку сниматься

что бы понять почему так советую пройти, хотя бы, базовые курсы по JS

Link to comment
Share on other sites

  • 0
2 минуты назад, klierik сказал:

jQuery('#contactForm_oneclick').on('click.popup', function (e) {
	if (jQuery(e.target).hasClass('addtocart_button') || jQuery(e.target).eq(':input')) {
		e.stopPropagation()
	}
});

 

что бы понять почему так советую пройти, хотя бы, базовые курсы по JS

Спасибо. У вас обработчик зарегистрирован немного по-другому, чем у меня выше. Что это дает?

Link to comment
Share on other sites

  • 0

Прочитал в местном справочнике, что атрибут required для input понимается начиная с IE 10, а Safari не понимается. Это беда. 

Кто знает, какие есть трюки заставить браузеры IE9- и Safari требовать заполнение нужного поля? Может в бутстрапе есть для этого готовые решения? Или только свой js-код писать?

Link to comment
Share on other sites

  • 0
17 hours ago, borus said:

Может в бутстрапе есть для этого готовые решения?

Так для этого есть офф. документация, достаточно просто почитать.

Но скорее всего использовать плагин валидации (гугл поможет)

  • Like 1
Link to comment
Share on other sites

  • 0
В 09.06.2017 в 21:25, Schamil74 сказал:

А можно вопрос? У вас основное направление какое? Верстальщик, программист, ...?

Здравствуйте. Контент-менеджер, верстальщик, программист, сисадмин, всего понемногу в меру возможностей и способностей

Link to comment
Share on other sites

  • 0

Продолжаю верстать всплывающую форму Заказа в 1 клик, а именно блок со сслыкой и галочкой внизу формы. Пользовался инструкцией с некоторого сайта для того, чтобы текст слева от галочки и галочка были одинаковы по высоте. Для этого было предложено использовать верстку псевдотаблицей(display: table). Возникло 2 вопроса:

1. Почему не работает vertical-align:middle для выравнивания текста и галочки по вертикали в псевдотаблице?

2. Как методами css увеличить размер галочки так, чтобы её высота стала равна высоте строки с текстом?(на разных экранах это разная высота) Если ставлю height: 100%, то галочка и вовсе схлопывается (объясните, пожалуйста, если знаете, почему :) )

Edited by borus
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy