Jump to content
  • 0

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


borus
 Share

Question

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

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

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
  On 6/7/2017 at 1:04 PM, Svetlana_P said:

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

Expand  

Спасибо. Кстати, как это вы эмулируете в браузере, отключение 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
  On 6/7/2017 at 2:30 PM, borus said:

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

Expand  

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

  • Like 1
Link to comment
Share on other sites

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

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

Expand  

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

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

	$("#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
  On 6/8/2017 at 8:17 AM, Николя223 said:

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

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

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

Expand  

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

Link to comment
Share on other sites

  • 0
  On 6/8/2017 at 7:49 AM, borus said:

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

Expand  

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

Link to comment
Share on other sites

  • 0
  On 6/8/2017 at 9:16 AM, klierik said:

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

Expand  

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

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()
	}
});

 

  On 6/9/2017 at 7:15 AM, borus said:

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

Expand  

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

Link to comment
Share on other sites

  • 0
  On 6/9/2017 at 7:15 AM, klierik said:
jQuery('#contactForm_oneclick').on('click.popup', function (e) {
	if (jQuery(e.target).hasClass('addtocart_button') || jQuery(e.target).eq(':input')) {
		e.stopPropagation()
	}
});

 

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

Expand  

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

Link to comment
Share on other sites

  • 0

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

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

Link to comment
Share on other sites

  • 0
  On 6/9/2017 at 2:55 PM, borus said:

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

Expand  

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

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

  • Like 1
Link to comment
Share on other sites

  • 0
  On 6/9/2017 at 6:25 PM, Schamil74 said:

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

Expand  

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

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