Обновить форму, если установлен флажок

0

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

У меня очень простая форма, у нее есть выпадающий список имен, флажок и кнопка отправки.

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

То, что я пробовал:

    1. <input type="checkbox" name="active" value="Yes" onclick="$('#myform').submit()">
    2. <input type="checkbox" name="active" value="Yes" onclick="this.form.submit()">
    3. <input type="checkbox" name="active" value="1" onclick="$('#myform').submit()">
    4. <input type="checkbox" name="active" value="Yes" onclick="$('#myform').submit();">
    5. <input type="checkbox" name="active" value="Yes" onclick="this.form.submit();">
    6. <input type="checkbox" name="active" value="1" onclick="$('#myform').submit();">

ни один из них не обновит форму. Я не знаю, изменилось ли это что-либо, но у моей кнопки отправки есть идентификатор submit. Я не очень хорош с jQuery или javascript в это время, поэтому я не уверен, что делать, чтобы заставить это функционировать так, как я хочу. Я использую php как базовое кодирование для страницы, с mysql для запроса. У меня есть условное выражение в запросе sql как таковое:

    if ($_POST['active'] == 'Yes') {
      echo "query holds all";   
    } else {    
      echo "query holds some";
    }

эти сообщения отображаются правильно, если я вручную изменяю вывод, но когда я устанавливаю флажок, он ничего не делает. Есть ли другой способ заставить это работать?

Теги:
checkbox

3 ответа

0
<input type="checkbox" name="active" id="chk" value="Yes" onclick="return check()">

<script type="text/javascript">
function check()

{
    //alert(document.getElementById("chk").checked);
    if(document.getElementById("chk").checked == true)
    {
        window.location.reload();
    }

}
</script>
  • 0
    Я читал об этом, но разве это не перезагрузит всю страницу, заставляя флажок снова быть снятым? Я все равно попробую, когда вернусь домой и дам вам знать.
  • 0
    k конечно .. когда вы устанавливаете флажок в то время, когда страница была перезагружена, а когда вы сняли флажок, страница не была перезагружена
0

Избавьтесь от всех встроенных событий onclick на флажке

$(document).on('click', '[name="active"]', function() {
    if($(this).is(":checked")) {
       $('#myform').submit();
    }
});
  • 0
    Хорошо, я попробовал это и даже добавил предупреждение, чтобы увидеть, попало ли оно сюда, к сожалению, это не меняет выражение sql в моем php. Предупреждение появляется, но второе сообщение, которое я имею, не показывает. Он по-прежнему показывает «запрос содержит некоторые».
  • 0
    В качестве дополнительной заметки я вытащил все со страницы, чтобы посмотреть, не было ли что-то с этим, но, кажется, ничто не влияет на это. Когда я отмечаю флажок, он все равно ничего не делает с формой. Я не могу обновить страницу, потому что это снимает флажок, есть ли другой способ сделать это? может быть еще один выпадающий или радио-кнопка?
-1
<input type="checkbox" name="active" value="Yes" 
onchange="this.form.submit();">

Единственная проблема, с которой вы столкнетесь, заключается в том, что, перезагрузив страницу, проверка исчезнет.

Что вам нужно сделать, это дать "Проверено" и создать значение переменной и поместить его в операцию, например:

<input type="checkbox" name="active" id="active" value="checked" 
<?php echo  $active_flag;?> onchange="this.form.submit();" />

где

$active_flag= $_POST['active_flag'];
  • 0
    Поясните свой код, пожалуйста!

Ещё вопросы

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