gpt4 book ai didi

javascript - PHP PDO - 将动态字符串数组传递给 JavaScript

转载 作者:行者123 更新时间:2023-12-01 03:33:19 24 4
gpt4 key购买 nike

我了解到问题是我正在尝试将字符串数组传递给 JavaScript。

我不知道如何继续。

表格

<input type="hidden" name="id">
<input type="hidden" name="adProd">

数据库连接

$stmt = $conn->prepare("SELECT product_name, product_quantity, product_id FROM product ");
$stmt->execute();

// set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_OBJ);

foreach ($result as $v) {
echo "<td style='width:150px;border:1px solid black;'>";
echo "</td>";
echo '<tr>';
echo '<td>' .$v->product_name. "</td>";
echo '<td>' .$v->product_quantity. "</td>";
echo '<td>' .$v->product_id. "</td>";
下面的

product_id 完全正常工作。

  echo '<td> <button type="submit" onclick="askForSell('.$v->product_id.')">  Sell  </button>  </td>';
另一方面,

product_name 不起作用。

  echo '<td> <button type="submit" onclick="askForBuy('.$v->product_name.')">   Buy   </button> </td>';

JavaScript

form=document.getElementById("sellAndBuy");

工作正常:

function askForSell(id) {  
form.action="sellProducts.php";
form['id'].value = id;
form.submit();
}

不起作用:

function askForBuy(adProd) {
form.action="buyProducts.php";
form['adProd'].value = adProd;
form.submit();
}

最佳答案

由于产品名称是字符串,因此您需要在 HTML 中为该名称添加额外的引号。您需要转义这些,因为您已经需要使用单引号和双引号:

echo '<td> <button type="submit" onclick="askForBuy(\''.$v->product_name.'\')">   Buy   </button> </td>';

请注意添加的 \'

由于这些转义引号在更复杂的情况下可能会变得很麻烦,而且因为这是更好的做法,因此您应该考虑使用纯 JavaScript 代码绑定(bind)事件处理程序,而不是使用 onclick HTML 属性。

关于javascript - PHP PDO - 将动态字符串数组传递给 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44422052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com