Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带Javascript的动态订单-读取奖励代码?_Php_Javascript_Forms_Dynamic - Fatal编程技术网

Php 带Javascript的动态订单-读取奖励代码?

Php 带Javascript的动态订单-读取奖励代码?,php,javascript,forms,dynamic,Php,Javascript,Forms,Dynamic,我正在做一个表格,你可以填写个人信息和选择产品。它通过一些简单的java脚本动态调整价格,并最终将所有信息发布到PDF文件中 现在我必须实现一个奖金代码。比如,当你投入BONUS2011,你可以在所有选定的产品上获得20%。它必须是动态的。就像你正确填写奖金栏的那一刻,你就得到了价格的20% 我现在的问题是,做这件事最简单最简单的方法是什么?我可以将奖金代码存储在.js中,但这当然不是一个理想的解决方案。正如您可能注意到的那样,我在Javascript和PHP方面的知识非常有限 提前谢谢 既然您

我正在做一个表格,你可以填写个人信息和选择产品。它通过一些简单的java脚本动态调整价格,并最终将所有信息发布到PDF文件中

现在我必须实现一个奖金代码。比如,当你投入BONUS2011,你可以在所有选定的产品上获得20%。它必须是动态的。就像你正确填写奖金栏的那一刻,你就得到了价格的20%

我现在的问题是,做这件事最简单最简单的方法是什么?我可以将奖金代码存储在.js中,但这当然不是一个理想的解决方案。正如您可能注意到的那样,我在Javascript和PHP方面的知识非常有限


提前谢谢

既然您没有代码片段,我将给出一个非常粗略的示例,说明您可以做些什么。只需确保在s/he发布后正确计算了您用于向客户收费的信息,并且您不需要依赖表单中的Total字段来确定向客户收费的内容,因为在发布时可以对其进行操作

不要将奖金代码放在JavaScript中,因为每个人都可以查看它

而是实现一个AJAX调用来更新price字段。有很多例子。如果使用jQuery这样的JavaScript库,也会更容易

使用jQuery非常简单:

// HTML
<!-- Bonus Code goes here -->
<input type="text" id="bonus_code" />

<!-- Contains the full price for the products -->
<input type="hidden" id="full_price" value="100.00" />

 <!-- Contains the display price for the products -->
<input type="text" id="display_price" readonly value="100.00" /> USD

// JavaScript
$(document).ready(function()
{
    $('#bonus_code').change(function()
    {
        $.get('calculate_price.php',
            {
                bonus_code: $(this).val(),
                full_price: $('#full_price').val()
            },
            function(result)
            {
                $('#display_price').val(result);
            }
        );
    });
});

// calculate_price.php
<?php
$bonus_code = $_GET['bonus_code'];
$full_price = (float)$_GET['full_price'];
if ($bonus_code == 'BONUS2001')
{
    echo $full_price / 100 * 80; // output the new price
}
else
{
    echo $full_price;
}
?>

您可以使用Ajax。您需要在奖金字段的onchange或onkeypress上放置一个JavaScript事件,该字段使用Ajax将输入的值传递给PHP脚本。然后,PHP将相应的折扣返回给JavaScript,JavaScript将更新表单。如果输入的代码无效,则返回0和/或一些错误消息。你真的想更新所有的价格吗?我建议在发货前或发货后酌情对总金额进行折扣。您肯定不想直接将奖金代码放入JS中,因为用户可以查看源代码并查看它们。简言之,当用户在字段中键入代码时,您必须向服务器上的脚本发出Ajax请求,以验证到目前为止已回答的问题。虽然我还没有看到任何针对您的特定用例的教程,但Google around for Ajax live search教程中也有相同的概念,这应该会让您开始学习。