将 PHP 字符串和整数作为参数传递给 JavaScript 函数
Passing a PHP string and an integer as arguments to a JavaScript function
我正在尝试从 PHP 传递一个字符串和一个整数作为 JavaScript 函数的参数。我尝试了很多不同的解决方案,并了解到它与转义字符有关。但是我想不通,所以我希望你能帮助我。
这条线给我带来了麻烦:
<button onclick="addToCart(<?php echo $productName ?>, <?php echo $price ?>)">Add to cart</button>
比如我传id是没有问题的,所以跟商品名是字符串有关
完整代码:
<?php
$databaseConnection = connectToDatabase();
$sql = "SELECT * FROM product";
$res = $databaseConnection->query($sql);
$count = mysqli_num_rows($res);
if ($count > 0) {
//products available
while ($row = mysqli_fetch_assoc($res)) {
$id = $row['id'];
$productName = $row['productName'];
$imageName = $row['imageName'];
$price = $row['price'];
$quantity = $row['quantity'];
?>
<!--display all products-->
<div class="col-4">
<img src="img/<?php echo $imageName; ?>">
<h4><?php echo $productName; ?></h4>
<p><?php echo $price; ?> kr</p>
<p style="color: green"><?php echo $quantity; ?> left in stock</p>
<button onclick="addToCart(<?php echo $productName ?>, <?php echo $price ?>)">Add to cart</button>
</div>
<?php
}
}
?>
函数在它自己的 .js 文件中,如果我传递给整数而不是字符串就可以工作。
function addToCart(x,y) {
alert(x + y);
}
尝试:
<button onclick="addToCart('<?=$productName?>', '<?=$price?>')">Add to cart</button>
我正在尝试从 PHP 传递一个字符串和一个整数作为 JavaScript 函数的参数。我尝试了很多不同的解决方案,并了解到它与转义字符有关。但是我想不通,所以我希望你能帮助我。 这条线给我带来了麻烦:
<button onclick="addToCart(<?php echo $productName ?>, <?php echo $price ?>)">Add to cart</button>
比如我传id是没有问题的,所以跟商品名是字符串有关
完整代码:
<?php
$databaseConnection = connectToDatabase();
$sql = "SELECT * FROM product";
$res = $databaseConnection->query($sql);
$count = mysqli_num_rows($res);
if ($count > 0) {
//products available
while ($row = mysqli_fetch_assoc($res)) {
$id = $row['id'];
$productName = $row['productName'];
$imageName = $row['imageName'];
$price = $row['price'];
$quantity = $row['quantity'];
?>
<!--display all products-->
<div class="col-4">
<img src="img/<?php echo $imageName; ?>">
<h4><?php echo $productName; ?></h4>
<p><?php echo $price; ?> kr</p>
<p style="color: green"><?php echo $quantity; ?> left in stock</p>
<button onclick="addToCart(<?php echo $productName ?>, <?php echo $price ?>)">Add to cart</button>
</div>
<?php
}
}
?>
函数在它自己的 .js 文件中,如果我传递给整数而不是字符串就可以工作。
function addToCart(x,y) {
alert(x + y);
}
尝试:
<button onclick="addToCart('<?=$productName?>', '<?=$price?>')">Add to cart</button>