0

我几乎得到了这个……希望我能把它锁起来。

第一部分是表单外的复选框:

<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>  .

这是我的脚本,用于将 model0 的值(选中时)发送到表单区域中的 send_mail.php。

$("#final_form").submit(function () {
     $("#model0_is_checked").val($("#model0").is(':checked'));
    return test;
    });

这是表单区域:

<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_is_checked 时,我得到的只是真实的,而不是像我试图调用的“测试”......有人知道为什么吗?

4

2 回答 2

1

您可以在这里做某事(根据您的代码):http: //jsfiddle.net/SdMAt/ 我已经重写了 javascript 部分。现在隐藏输入(更改为文本类型以查看结果)在每次单击此外部复选框时更改。

$("#model0").on('click', function () {
    if ($(this).is(':checked')) {
        $('#model0_is_checked').attr('value','true'); 
    } else {
        $('#model0_is_checked').attr('value','false'); 
    }
});
于 2013-08-07T22:37:07.683 回答
0

.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 中,如果选中,您将得到$_POST['model0']等于,test如果$_POST['model0']未选中,则不会设置。你可以做一些事情,比如$model0 = isset($_POST['model0'])?$_POST['model0']:null;在没有错误的情况下获得价值。

于 2013-08-07T22:23:34.543 回答