将参数传递给Javascript - 与2一起工作,打破3
问题描述:
我正在研究一个Add To Cart按钮,它将一个项目的ID和Quantity传递给一个Javascript函数。该函数处理这些值,创建一个临时表单来POST值,然后用添加到URL的AddItem重新加载产品页面。将参数传递给Javascript - 与2一起工作,打破3
这是工作代码:
function submitItem(ID, Code)
{
alert("Submission received"); //--This is being triggered
var toCart, inputA, inputB, quantity;
quantity = Code.value;
// Create form
toCart = document.createElement('form');
toCart.action = " &AddItem";
toCart.method = 'post';
//Rest of the code excutes as normal
}
我的产品页面是动态加载的,所以对于一个类别的URL会blah.com/products.php?cat=FOO,但去除的AddItem猫=子句,所以加载一个空白页面。为了避免这种情况,我尝试将类别前缀(FOO)传递给javascript,但添加了第三个参数就是打破它。
这是我的新代码:
function submitItemCat(ID, Code, Category)
{
alert("Submission received"); //--This is not being triggered
var toCart, inputA, inputB, quantity;
quantity = Code.value;
// Create form
toCart = document.createElement('form');
toCart.action = " &AddItem"+ Category; //--This is were I amend the URL
toCart.method = 'post';
//Rest of the code
}
和HTML格式的函数调用
$jsCat = json_encode($_GET["cat"]); // This is FOO
echo'
<div id= "QuantBox">
<label for="Quantity">'.$catPrefix.'</label>
<input type = "text" name= "Quantity" id= "Q'.$row["StockCode"].'" value="1">
<a
class= "AddToCart"
onclick= "submitItemCat('.$row["StockID"].', Q'.$row["StockCode"].', '.$jsCat.')" >
</a>
</div>';
我也试着通过第三变量 “FOO”,$ _GET [ “猫” ]但他们都没有工作。 任何意见是非常感谢。
答
您可能会缺少报价。
速战速决将
onclick= "submitItemCat(\"'.$row["StockID"].'\", \"Q'.$row["StockCode"].'\", \"'.$jsCat.'\")" >
但是这是可怕的。个人而言,我会重构代码,以便通过产生具有可变干净的javascript脚本声明
<script>
var theid = '<?php echo $row["StockID"] ?>';
...
</script>
+0
谢谢,我已经设法通过包括缺失的引号来工作。我试图重构它,但我看不到任何方式来做它,这将允许我为页面上的每个项目生成一组独特的变量。 – 2013-02-09 13:56:48
难道你在控制台中的任JS错误,以避免内嵌JavaScript的从PHP建设,例如? 'onclick'参数列表中的'Q'是什么?这不需要引用? – marekful 2013-02-08 17:02:17