Я надеюсь, что кто-то может мне помочь. Я пробовал спрашивать, но никто, казалось, не получил то, что я хотел, чтобы перефразировать его и повторить попытку.
У меня очень простая форма, у нее есть выпадающий список имен, флажок и кнопка отправки.
Список имен вытаскивается из моей базы данных. Флажок по умолчанию не установлен. Я хочу, чтобы это произошло, когда я устанавливаю флажок, список имен обновляется, чтобы включать дополнительные имена.
То, что я пробовал:
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";
}
эти сообщения отображаются правильно, если я вручную изменяю вывод, но когда я устанавливаю флажок, он ничего не делает. Есть ли другой способ заставить это работать?
<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>
Избавьтесь от всех встроенных событий onclick на флажке
$(document).on('click', '[name="active"]', function() {
if($(this).is(":checked")) {
$('#myform').submit();
}
});
<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'];