0

完整页面位于http://f14.co/auto-search/reno

我在表单外设置了以下复选框:

<div class='span5' style='margin-left:0px !important;'>
    <label for='model0'>
    <input type="checkbox" name="model0x" id="model0x"
    value="Accord" style='margin-top:-5px !important;'> Accord</label>
</div>      

我在复选框和表单之间有这个javascript:

<script>
    if($("#model0x").is(':checked')){
      $("#model0_is_checked").val($("#model0x").val());
    }else{ 
      $("#model0_is_checked").val("Not Checked"); 
    }   
</script>

最后,我有这个隐藏的输入,可以在检查或不检查项目时在表单中调用该值:

 <form method="post" class="form-horizontal" id="final_form" action="send_mail.php">
 <input type="hidden" id="model0_is_checked" name="model0_is_checked">
   MORE FORM STUFF AND SUBMIT BUTTON 
 </form>

无论我在 send_mail.php 中没有得到任何价值 ....我做错了什么?

4

3 回答 3

1
$('#model0x').click(function(){
    var self=this;
    $("#model0_is_checked").val($(self).is(':checked')?self.value:'Not Checked');
    // do something
});
// or use submit ()
于 2013-08-08T02:44:36.640 回答
0

当页面(或更准确地说,<script>标签)被加载时,您的 Javascript 会运行一次。您必须在提交表单时使其运行:

<script type="text/javascript">
function updateHidden() { // Find a better name ;)
    if($("#model0x").is(':checked'))
        $("#model0_is_checked").val($("#model0x").val());
    else
        $("#model0_is_checked").val("Not Checked");
}
$(document).ready(function() { $('#final_form').submit(updateHidden); });
</script>

PS:未经测试的代码

于 2013-08-08T01:34:12.530 回答
0

将函数绑定到表单提交。

<script>
$('#final_form').on('submit',function(){
    if($("#model0x").is(':checked')){
        $("#model0_is_checked").val($("#model0x").val()); }
    else { $("#model0_is_checked").val("Not Checked");}
});
</script>

jsFiddle 示例http://jsfiddle.net/KZrLp/

于 2013-08-08T01:40:10.797 回答