我为我的一位客户创建了折扣功能。无论何时,将选定的优惠券输入优惠券字段,然后它将从数据库中匹配优惠券是否处于活动状态并且是否存在?如果是,那么它会进行一些数学计算,给予用户 10% 的折扣,并向用户显示折扣金额。它在 Chrome 中运行良好,但是当我在 Firefox 中测试相同的功能时,它的行为很奇怪。它给了我大约 20%、50% 的折扣。像一些随机数学计算。
我正在使用 jquery、php、mysql 向客户实时显示结果。这个问题真的是在逗我。最初,我使用 PHP 会话来获取折扣值,但我尝试将折扣值存储在 db 中,然后再次检索它进行计算。但同样的问题也会发生。在这一点上我很困惑。
这是jquery代码:
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.post('coupapply.php', {coup:$('#coupon').val()}, function(result) {
});
$.post('discount.php', {disc:$('#totamt tr').find("td").eq(1).html()}, function(result) {
$('#cpresult').html(result);
});
});
});
</script>
<span id='cpresult'></span>
这是php代码:
<?
if ($_REQUEST) {
$disc = $_REQUEST['disc'];
$amt = substr($disc, 1);
$caldisc = $amt*0.1;
$total = (200-$caldisc);
echo "<spain style='font-size:14px;'>*10% discount applied* Pay ".$total." now!</span>";
}
?>
让我解释一下这段代码。我使用两个 $post 函数的原因是因为我从当前页面获得了两个值。一个是设置为“coup”的优惠券代码,一个是设置为“disc”的总计算金额。然后两个值都处理到不同的 php 页面并打印结果。我认为问题不在于 PHP 代码。问题在于我的 jquery 代码。我尝试在 php 代码中使用一些常量值来进行 200-100 之类的计算,并且效果很好。但是'disc'变量的值正在产生影响。
问题解决了:实际上发生了什么,我已经包含了这样一个 200 美元的空间
这个空间在 Firefox 浏览器中造成了所有问题。所以,我最初使用 substr() 是从位置 1 断开字符串,但现在。我更改了中断位置并将其设置为 2,现在一切都很好。顺便说一句,谢谢你们的帮助:)