使用Javascript从Form外部捕获值

时间:2013-08-08 01:24:36

标签: php javascript forms variables

整页位于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中得到什么价值......我做错了什么?

3 个答案:

答案 0 :(得分:1)

$('#model0x').click(function(){
    var self=this;
    $("#model0_is_checked").val($(self).is(':checked')?self.value:'Not Checked');
    // do something
});
// or use submit ()

答案 1 :(得分: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>

P.S。 :没有经过测试的代码

答案 2 :(得分: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/