有人可以告诉我这段代码有什么问题吗?
我正在尝试从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>
谢谢!
答案 0 :(得分:1)
问题是您的javascript函数中的这一行:
var promo = <?php echo $promo; ?>;
通过用引号将php标签引起来解决此问题:
var promo = '<?php echo $promo; ?>';
此问题是由于以下事实引起的:PHP无法理解您要回显的变量将作为字符串值传递给javascript中的另一个变量;因此在运行代码时,javascript会看到:
var promo = total;
代替:
var promo = 'total';