将参数传递给Javascript-与2一起工作,与3一起中断
Passing parameters to Javascript - works with 2, breaks with 3
我正在开发一个"添加到购物车"按钮,该按钮将商品的ID和数量传递给Javascript函数。该函数处理这些值,创建一个临时表单来POST这些值,然后用?AddItem已添加到url。
这是工作代码:
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删除了cat=子句,因此加载了一个空白页。为了避免这种情况,我尝试将类别前缀(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["cat"],但它们都不起作用。如有任何建议,不胜感激。
您可能缺少引号。
是一个快速解决方案
onclick= "submitItemCat( '"'.$row["StockID"].''", '"Q'.$row["StockCode"].''", '"'.$jsCat.''" )" >
但这太可怕了。就我个人而言,我会重构代码,以避免从PHP构建内联javascript,例如,通过生成一个干净的javascript脚本,其中变量声明为
<script>
var theid = '<?php echo $row["StockID"] ?>';
...
</script>
相关文章:
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- document.title函数可以't设置它与php一起工作
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 非常简单的js测试;Don’不要和Minko一起工作
- 无法使我的文本参数与我的查询一起工作
- 为什么Angularjs验证don't与输入[type=“number”]一起工作
- 无法使vash 0.8.0与express 4.12.3一起工作
- 如何使Angular JS控制器与指令一起工作
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 两个独立工作的javascript函数,但不能一起工作
- 角度和砖石一起工作
- Node http-proxy-middleware 不能与本地服务器一起工作
- jQuery脚本不想一起工作
- page.js使examples/hash与hashbang:true一起工作
- javascript使jquery倒计时与UTC时间一起工作
- jQuery.not()选择器无法与类一起工作
- Rails3-可排序列表不能与wysihtml5一起工作
- 替换匹配函数给出了未定义的错误,但它与替换一起工作
- 按钮上的数据加载消息无法与ajax调用一起工作