javascript - php优惠券系统
问题描述
有人可以告诉我这段代码有什么问题吗?
我正在尝试从 mysql 数据库申请优惠券。但是这个简单的 php 变量没有被执行。
<html>
<head>
<title>Coupon test code</title>
<style>
#error{
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<form name="couponField" action="">
<span id="error"></span>
Coupon code:
<input type="coupon" id="coupon" name="coupon">
<input type="button" id="submit" value="Apply Coupon Code">
</form>
<?php $promo = "total"; ?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$('#submit').click(function(){
var input = $('#coupon').val();
var promo = <?php echo $promo; ?>;
if(input === promo){
$('#error').text('correct code!');
} else if (input !== ''){
$('#error').text('wrong code!');
}
});
</script>
</body>
</html>
谢谢!
解决方案
问题是您的javascript函数中的这一行:
var promo = <?php echo $promo; ?>;
这可以通过用引号括起来的 php 标签来解决:
var promo = '<?php echo $promo; ?>';
这个问题是由于 PHP 不理解您正在回显的变量将作为字符串值传递给 javascript 中的另一个变量;所以在运行代码时 javascript 会看到:
var promo = total;
代替:
var promo = 'total';
推荐阅读
- prolog - 如何将元素附加到列表的每个元素?(序言)
- java - 向用户界面程序添加超时
- python - SciPy/pytest:跳过特定测试
- mysql - 如何优化与 group by 和 order by 相关的查询
- symfony - Symfony 3:如何在表单集合中分别提交表单?
- c# - 比较两个数组并返回一个整数数组,其值是比较的结果
- python - 在python的邻接矩阵中打印图的所有边
- sql - 如果另一个表中的值与第一个表中的值匹配,则从一个表中选择
- json - 使用 jq 通过包含字符串来查找数组元素
- javascript - hasOwnProperty 不是 Node.js 中的函数?