クライアントの 1 人に割引機能を作成しました。選択したクーポンがクーポン フィールドに入力されるたびに、クーポンが有効であるか、クーポンが存在するかをデータベースから照合します。はいの場合は、ユーザーに 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>";
}
?>
このコードについて説明します。2 つの $post 関数を使用した理由は、現在のページから 2 つの値を取得したためです。1 つは「coup」に設定されたクーポン コードで、もう 1 つは「disc」に設定された合計計算額です。次に、両方の値が異なる php ページに処理され、結果が出力されます。問題は PHP コードではないと思います。問題は私のjqueryコードにあります。PHPコードでいくつかの定数値を使用して200-100のような計算をしようとしましたが、うまくいきました。しかし、「ディスク」変数の値が違いを生んでいます。
問題解決: この $200 のようなスペースを含めた実際に何が起こっていたのか
このスペースは、Firefox ブラウザーですべての問題を引き起こしていました。そのため、最初は substr() を使用していましたが、文字列を位置 1 から分割していましたが、現在は. ブレーク位置を変更して 2 に設定したところ、すべてが正常になりました。ところで、皆さんの助けに感謝します:)