我在我的项目中使用以下代码
<cfoutput query="getOptions">
<tr>
<td align="center"> #optionname#</td>
<td align="center"> #DollarFormat(optionprice)#</td>
<td><input type="checkbox" name="OptionalID" value="#OptionID#" ></td>
</tr>
</cfoutput>
我将值传递给其他形式如下
<a href="addtocart.cfm?pid=#productId#&OptionalID=#OptionalID#">
如何传递所有选中的复选框的所有值。请帮助
提前致谢
答案 0 :(得分:5)
更改您的页面以使用表单,而不是通过链接传递值。
有些事情:
<form name="myform" action="addToCart.cfm" method="post">
<cfoutput>
<input type="hidden name="pid" value="#productId#">
<input type="hidden name="OptionalID" value="#OptionalID#">
<cfloop query="getOptions">
<tr>
<td align="center"> #optionname#</td>
<td align="center"> #DollarFormat(optionprice)#</td>
<td><input type="checkbox" name="OptionalID" value="#OptionID#"></td>
</tr>
</cfloop>
<input type="submit" value="Add to cart">
</cfoutput>
</form>
您可以根据需要传递任意数量的值,复选框将显示为列表。
希望有所帮助
答案 1 :(得分:0)
虽然使用JavaScript可能会变得棘手,但如果使用A添加到购物车,则只会传递URL中的值。您想要使用表单。
<form name="cartForm" action="addtocart.cfm?pid=#productId#&OptionalID=#OptionalID#" method="POST">
. . . .
</form>
当然,这意味着您通常会在表单中使用提交按钮。如果您已开始使用链接,则可以执行
<a href="#" onClick="document.forms["cartForm"].submit();">Add to cart</a>
(请注意,为了简单起见,我省略了各种标签和转义#)。
答案 2 :(得分:0)
你需要JavaScript。
首先,在你的页面中有你发布的代码:
<script type="text/javascript">
function AddCheckboxValues(oLink, sName) {
var arrCheckboxes = document.getElementsByName(sName);
var values = [];
for (var i = 0; i < arrCheckboxes.length; i++) {
if (arrCheckboxes[i].checked) {
values.push(arrCheckboxes[i].value);
}
}
oLink.href += "&" + sName + "=" + values.join(",");
}
</script>
其次,将onclick
添加到链接标记:
<a href="addtocart.cfm?pid=#productId#" onclick="AddCheckboxValues(this, 'OptionalID');">
就是这样,现在形式addtocart.cfm
将获得用户勾选的复选框的查询字符串值。