Показать / скрыть элементы родительской формы с помощью jQuery

0

У меня есть кнопка отправки формы, которая не видна до тех пор, пока пользователь не проверит флажок, чтобы сказать, что они являются людьми (это не лучшая практика, которую я знаю, но у меня нет достаточного контроля для включения Captcha).

Вот HTML:

<div class="row">
    <div class="large-5 columns large-centered center" 
         id="txtHuman" style="display:none">
    <input class="button" name="submitbutton" type="submit" value="Vote now!" />
    </div>
</div>

<div class="row">

    <div class="large-3 columns large-centered verification">
        <label for="isHumanSelected"><span></span></label>
        <input type="checkbox" id="isHumanSelected" style="margin-left:-9999px"/>
    </div>
</div>

Это jQuery:

$('#isHumanSelected').click(function() {
    $("#txtHuman").toggle(this.checked);
});

Это работает. Но я хотел бы скрыть флажок и метку, используемые для определения того, является ли пользователь человеком или нет, когда кнопка отправки формы видна.

Как мне это сделать?

  • 0
    Извиняюсь. Забыл добавить это. Отредактировано сейчас.
Теги:
forms

4 ответа

0
Лучший ответ

Вы можете использовать .parent() чтобы скрыть эти элементы, попробуйте следующее:

$('#isHumanSelected').click(function() {
    $("#txtHuman").toggle(this.checked);
    $(this).parent('.verification').hide();
});

Демо-скрипт

  • 0
    Это сработало для меня. Спасибо. Лучшие вещи!
  • 0
    Нп мате рад помочь вам
0
$("#txtHuman").is(":checked"))
    $("#element").hide();
else
alert("not:Checked");
0
<div id="PLACEANIDHERE" class="row">

  <div class="large-3 columns large-centered verification">
    <label for="isHumanSelected"><span></span></label>
    <input type="checkbox" id="isHumanSelected" style="margin-left:-9999px"/>
  </div>

</div>

Переключить идентификатор контейнера. И ярлык, и флажок будут видимы/скрыты одновременно.

Примечание. Предоставление флажка не будет препятствовать отправке ботов. Они воссоздают форму отправки, они фактически не заполняют форму.

0

Как насчет

Live Demo

$(function() {
  $("#isHumanSelected").on("click",function() {
    $(this).parent().html($("#txtHuman").html());
  });
});
  • 0
    Это заставило правильные вещи появиться и исчезнуть, но на самом деле как-то сломало форму. Не уверен, что случилось.
  • 0
    Зависит от того, что находится в родительском div. Я использовал ваш HTML

Ещё вопросы

Сообщество Overcoder
Наверх
Меню