計算を行うjavascriptメソッドがあります。最後に、隠しフィールドに保存したいと思います。方法は次のとおりです。
<script>
function getQuantity(){
var count = document.getElementById('hidden').value;
var Quantity=new Array();
var i=0;
for(i=0; i<count; i++)
{
Quantity[i]=document.getElementById(i).value;
}
var myJSONQuantity = JSON.stringify(Quantity,'');
alert(myJSONQuantity);
document.qForm.getElementById('hdnQuantityArray').value = myJSONQuantity;
alert(document.qForm.getElementById('hdnQuantityArray').value);
}
</script>
ここで確認しましたが、すべて正常に機能しています。最後のアラートは正しい値を出力しています。これは、GETメソッドを使用して送信時にフィールドを送信するためのボタンがあるフォームです。
<form name="qForm" method="GET" action="CalculateTotal.php">
<input type="hidden" id="hdnQuantityArray" name="hdnQuantityArray">
<input type="submit" value="CheckOut" id="CheckOut" name="CheckOut">
</form>
私のクエリ文字列は次のように表示されます。
http://localhost/blazorange/Customer/CalculateTotal.php?hdnQuantityArray=&CheckOut=Submit
hdnQuantityArray
これにクエリ文字列に値を持たせたい。
PSこのjavascriptメソッドは、同じファイル内の別のフォームの送信ボタンから呼び出されます。そして、このフォームはPHPフォームです。他のフォームの送信ボタンのコードは次のとおりです。
<input type="submit" value=" Total " id="total" onClick="return getQuantity()">
編集:
<table border=1>
<form id="CartForm">
<tr>
<td>
<h2> <font color='Grey'>Item Name</font> </h2>
</td>
<td>
<h2> <font color='Grey'>Item Price</font> </h2>
</td>
<td>
<h2> <font color='Grey'>Quantity</font> </h2>
</td>
</tr>
<?PHP
/* Displaying the total and purchased cart's items */
$j=0;
$temp=new Item();
while(isset($ItemsArray[$j])) {
?>
<tr>
<?PHP
if (is_string($ItemsArray[$j])) {
$temp=unserialize($ItemsArray[$j]);
}
$ItemName=$temp->getItemName();
$Price=$temp->getPrice();
?>
<td>
<font color='Black'><?PHP echo $ItemName; ?>
</td>
<td>
<font color='Black'><?PHP echo $Price; ?></font>
</td>
<td>
<input type="text" id="<?PHP echo $j;?>"/>
</td>
</tr>
<?PHP $j++; }?>
<table>
<input type="button" value=" Total " id="total" onClick="getQuantity()">
<input type="hidden" value="<?PHP echo $j; ?>" id="hidden">
</form>
</table>