Флажок не устанавливается при клике на метку

20 июн. 2014 г., 16:04:00
Просмотры: 51.4K
Голосов: 2

Я не уверен, является ли это проблемой WordPress, но когда я создаю простую форму как виджет в боковой панели, флажок не устанавливается при клике на метку. Странно, но это работает, когда я подключаю ту же форму через get_template_part в навигацию. Я хочу использовать 'checkbox hack', который зависит от кликабельности метки. Моя форма выглядит так:

<form action="http://email.littlefishfx.com/t/r/s/jijiat/" method="post">
    <p class="checks">
        <input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /> <label for="fieldjtdktry-0"><span></span>Изучать</label>
        <input id="fieldjtdktry-1" name="cm-fo-jtdktry" value="4469821" type="checkbox" /> <label for="fieldjtdktry-1"><span></span>Торговать</label>
        <input id="fieldjtdktry-2" name="cm-fo-jtdktry" value="4469822" type="checkbox" /> <label for="fieldjtdktry-2"><span></span>Инвестировать</label>
        <input id="fieldjtdktry-3" name="cm-fo-jtdktry" value="4469823" type="checkbox" /> <label for="fieldjtdktry-3"><span></span>Тратить</label>
    </p>
    <p>
        <input id="fieldEmail" name="cm-jijiat-jijiat" type="email" required placeholder="Ваш email адрес" />
        <br />
        <button type="submit"><span>Подписаться</span></button>
    </p>
</form>

Обе формы можно найти на littlefishfx.com/contact, одна выпадает из кнопки 'subscribe' в главном меню, а другая (та же форма) находится в самом низу боковой панели.

Есть ли советы, почему это может происходить? Одинаковые результаты в Chrome, Safari и Firefox (mac).

** РЕДАКТИРОВАНИЕ **

Если я оберну мои флажки в метку следующим образом:

<label><input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /><span></span>Изучать</label>

Тогда клик по метке работает везде. Это выглядит как лучшее решение (?), но оставляет меня в тупике относительно того, как использовать checkbox hack, который я изначально пытался реализовать. Вот CSS, над которым я работал:

/* Скрываем стандартный чекбокс */
input[type="checkbox"] {
    display:none;
}

/* Стилизуем кастомный чекбокс */
input[type="checkbox"] + label span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: -1px 6px 0 0;
    vertical-align: middle;
    background: url(images/checkbox-sprite.gif) left top no-repeat;
    cursor: pointer;
}

/* Стиль для отмеченного состояния */
input[type="checkbox"]:checked + label span {
    background: url(images/checkbox-sprite.gif) right top no-repeat;
}
0
Все ответы на вопрос 3
0

Хорошо, если это кому-то пригодится. Оригинальный туториал по чекбокс-хаку, которому я следовал, взят отсюда.

Я обошёл проблему, с которой столкнулся в WordPress, обернув чекбоксы в теги label, вот так:

<label><input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /><span></span>Learn</label>

и затем просто изменив CSS-селектор на:

label input[type="checkbox"] + span {

вместо оригинального:

input[type="checkbox"] + label span {

Работает отлично!

20 июн. 2014 г. 16:35:54
0

У меня была такая же проблема, но ваш ответ не помог. Поэтому, если у кого-то все еще есть эта проблема, убедитесь, что значение атрибута for в теге <label> совпадает с id элемента <input>. Это решило проблему в моем случае.

То есть:

<label for="love">

<input type="checkbox" id="love"/>

источник: https://stackoverflow.com/questions/6712029/label-not-working-with-checkbox/#answer-6712054

13 дек. 2016 г. 18:36:20
1

Перезагрузите страницу, нажмите на два чекбокса и запомните их. Затем отключите все CSS. Вы увидите, что они остаются отмеченными. Это означает, что какой-то стиль некорректно оформляет ваши чекбоксы.

Вы можете отключить CSS ...

... в Firefox выбрав "Вид" > "Стиль страницы" > "Без стиля"

... в Chrome установив расширение "WebDeveloper" и выбрав "CSS" > "Отключить все CSS"

20 июн. 2014 г. 16:15:56
Комментарии

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

Kevin Nugent Kevin Nugent
20 июн. 2014 г. 16:23:17