Php 选中复选框时从窗体外部调用值
我快拿到了…希望我能把它锁起来 第一部分是表单外的复选框:Php 选中复选框时从窗体外部调用值,php,javascript,forms,Php,Javascript,Forms,我快拿到了…希望我能把它锁起来 第一部分是表单外的复选框: <div class='span5' style='margin-left:0px !important;'> <label for='model0'> <input type="checkbox" name="model0" id="model0" value="test" style='margin-
<div class='span5' style='margin-left:0px !important;'>
<label for='model0'>
<input type="checkbox" name="model0" id="model0" value="test" style='margin-top:-5px !important;'> test</label>
</div> .
这是表单区域:
<form method="post" class="form-horizontal" id="final_form" action="send_mail.php">
<input type="hidden" id="model0_is_checked" name="model0_is_checked" value="test" /> MORE FORM STUFF AND SUBMIT BUTTON </form>
更多表单内容和提交按钮
当我调用model0时,如果选中,我得到的是true,而不是像我试图调用的那样的“test”…有人知道为什么吗?.is(':checked')
返回true或false以确定复选框是否选中。它不返回值。你可以这样做:
//if checked
if($("#model0").is(':checked')){
//set the value
$("#model0_is_checked").val($("#model0").val());
//not checked
} else {
//set to some other default value
$("#model0_is_checked").val("not checked");
}
但是,如果只是在表单中包含复选框,则在提交时将获得复选框的值,如果未选中,则不会获得任何值。提交时,在php中,如果选中,$\u POST['model0']
等于test
,如果不选中,$\u POST['model0']
将不会被设置。您可以执行类似以下操作:$model0=isset($\u POST['model0'])?$\u POST['model0']:null
以无错误地获取值。您可以在此处执行类似操作(基于您的代码):
我已经重写了javascript部分。现在,每次单击此外部复选框都会更改隐藏的输入(更改为文本类型以查看结果)
$("#model0").on('click', function () {
if ($(this).is(':checked')) {
$('#model0_is_checked').attr('value','true');
} else {
$('#model0_is_checked').attr('value','false');
}
});
这个变量
test
在哪里声明?因此,如果选中了值为test的复选框,我希望选中model0\u,以便在send\u mail.php中给我一个test值,那么隐藏的输入应该读取什么?我有
$("#model0").on('click', function () {
if ($(this).is(':checked')) {
$('#model0_is_checked').attr('value','true');
} else {
$('#model0_is_checked').attr('value','false');
}
});