【问题标题】:Passing a PHP string and an integer as arguments to a JavaScript function将 PHP 字符串和整数作为参数传递给 JavaScript 函数
【发布时间】:2021-07-24 19:01:49
【问题描述】:

我试图从 PHP 传递一个字符串和一个 int 作为 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);
}

【问题讨论】:

  • 引用字符串。
  • 是的,我不知道该怎么做。我试过这样的东西,但没有用:
  • PHP 中没有。 PHP标签前后,所以它是JS的一部分。
  • 这也不起作用。

标签: javascript php function arguments


【解决方案1】:

试试:

<button  onclick="addToCart('<?=$productName?>', '<?=$price?>')">Add to cart</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2012-07-26
    • 2020-12-19
    • 2017-04-25
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多