我有一个多页表单,它使用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是上一页上所选选项的值。
答案 0 :(得分:0)
在页面之间传递脚本提取的值可以通过几种方式实现。
使用HTML5本地/会话存储 - 但您的网页应属于同一个域。这需要启用HTML5的浏览器。
使用Cookie(再次使用相同的域名政策),如果禁用Cookie,则无效。
通过网址编码发送数据。
将数据发布到服务器,然后从服务器发回。
答案 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的新选项(无可选附加功能),这解决了点击功能问题。