我希望有人可以帮助我。我之前尝试过询问,但似乎没有人得到我想要的东西,所以要重新改写它并再试一次。
我有一个非常简单的表单,它有一个名称列表的下拉列表,一个复选框和一个提交按钮。
从我的数据库中提取名称列表。该复选框最初未选中。我想要发生的是当我选中复选框时,名称列表会更新以包含其他名称。
我尝试过:
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();">
这些都不会刷新表单。我不知道这是否会改变,但我的提交按钮有一个提交ID。我目前对jQuery或javascript不太满意,所以我不知道如何让它按照我想要的方式运行。我使用php作为页面的基本编码,使用mysql进行查询。我在sql查询中有条件语句:
if ($_POST['active'] == 'Yes') {
echo "query holds all";
} else {
echo "query holds some";
}
如果我手动更改输出,此消息会正确显示,但是当我选中该框时,它似乎没有做任何事情。还有另一种方法可以让它发挥作用吗?
答案 0 :(得分:0)
删除复选框上的所有内联onclick事件
$(document).on('click', '[name="active"]', function() {
if($(this).is(":checked")) {
$('#myform').submit();
}
});
答案 1 :(得分: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>
答案 2 :(得分:-1)
<input type="checkbox" name="active" value="Yes"
onchange="this.form.submit();">
唯一的问题是,通过重新加载页面,检查将会消失。
你需要做的是给出“Checked”并创建一个变量值并将其放入操作中,如:
<input type="checkbox" name="active" id="active" value="checked"
<?php echo $active_flag;?> onchange="this.form.submit();" />
,其中
$active_flag= $_POST['active_flag'];