使用javascript捕获值

时间:2015-02-03 18:12:34

标签: javascript

我有一个多页表单,它使用php和javascript来捕获和存储各种值。

除了一个让我感到困惑的问题外,表格运作良好。在表单的第三个阶段有一个可选的额外部分,当选择某个东西时它应该正常工作,但是如果没有选择任何东西,则前一个值不会被转移到下一个阶段。

我猜对了,因为我正在使用点击功能 - 所以如果没有选择任何内容,它就会失败。我该如何解决这个问题?

$('.radio2').click(function() {
            var servicecost = <?php echo json_encode($_POST['sum']); ?>;
            var sum2 = parseInt(servicecost);
            $('.radio2:checked').each(function() {
                sum2 += parseFloat($(this).closest('div').find('.values').text());
            });
            $('#sum2').html(sum2);
            $("input[name=sum3]").val(sum2);
            }); 

servicecost是上一页上所选选项的值。

3 个答案:

答案 0 :(得分:0)

在页面之间传递脚本提取的值可以通过几种方式实现。

  1. 使用HTML5本地/会话存储 - 但您的网页应属于同一个域。这需要启用HTML5的浏览器。

  2. 使用Cookie(再次使用相同的域名政策),如果禁用Cookie,则无效。

  3. 通过网址编码发送数据。

  4. 将数据发布到服务器,然后从服务器发回。

答案 1 :(得分:0)

你是对的。由于您已编写了在click事件中打印servicecost的逻辑,因此您将无法从上一页打印服务成本。我的建议是,

当您到达当前表单时设置div sum2。 注意:将sum2设为全局,这样就不需要使用POST ..  也许, $(document).ready( function () { var servicecost = <?php echo json_encode($_POST['sum']); ?>; var sum2 = parseInt(servicecost); $('#sum2').html(sum2); $("input[name=sum3]").val(sum2); });

答案 2 :(得分:0)

我通过隐藏“下一步”按钮直到选择了一个选项来解决这个问题。我为不需要的用户添加了一个值为0的新选项(无可选附加功能),这解决了点击功能问题。