確かに、私は Ajax に関してはまったく無知ですが、私の仕事を達成するには 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>
Order.php:
<?php
global var $rownum;
$rownum = $_GET['rownum'];
?>