诚然,我对 Ajax 完全一无所知,但它似乎是完成任务的最佳方式。在经历了几个教程之后,我有了基本的了解,但仍然对我的问题感到迷茫。本质上,我试图捕获 HTML 下拉菜单的值,并使用用户选择的行值调用购物车函数。每个行值对应于 php 数组中的一个产品。
出现在我的头文件中的函数(注意:注释掉的部分是使用 onreadystatechange 的失败尝试):
<script type="text/javascript">
function productchange(data){
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//xmlhttp.onreadystatechange=function()
//{
//if (xmlhttp.readyState==4 && xmlhttp.status==200)
// {
//document.getElementById("test").innerHTML=xmlhttp.responseText;
//document.getElementById("test").innerHTML= data;
// }
//}
var URL = "http://www.example.com/wp-content/themes/themeX/order.php" + "?rownum=" + data;
xmlhttp.open("GET",URL,false);
xmlhttp.send();
}
//-->
</script>
HTML 表:(div 标签再次尝试使用 innerHTML 失败。我能够在屏幕上获取值,但仍然无法使用 $_GET 捕获它以在我的函数调用中使用)
<TR>
<TD>
<select id="productcategory1" name="productcategory1" onchange="productchange(this.value)">
<option value="$">--Please Select--</option>
<option value="1">Product # 1 - $1.99</option>
<option value="2">Product # 2 - $1.99</option>
<option value="3">Product # 3 - $9.99</option>
<option value="4">Product # 4 - $9.99</option>
</select>
</TD>
<TD>
<div id="test">
</div>
<?php echo print_wp_cart_button_for_product($products[$rownum]["Product"], $products[$rownum]["Price"]); ?>
</TD>
</TR>
订单.php:
<?php
global var $rownum;
$rownum = $_GET['rownum'];
?>