我要在表格内的表单内添加文本区域,以便用户为订单写注释。 我的应用程序是一个购物车应用程序,在我添加特定的PHP变量之前,一切工作正常。我将从代码开始。
将项目添加到index.php上的购物车的AJAX代码:
if(product_quantity > 0)
{
$.ajax({
url:"action.php",
method:"POST",
dataType:"json",
data:{
product_id:product_id,
product_name:product_name,
product_price:product_price,
product_quantity:product_quantity,
action:action
},
success:function(data)
{
$('#order_table').html(data.order_table);
$('.badge').text(data.cart_item);
alert("Product has been Added into Cart");
}
});
}
action.php:
$order_table .= '
<tr>
<td colspan="3" align="right"><span style="font-size:1.3em;">Tax</span></td>
<td align="right">$'.number_format($tax,2).' </td>
</tr>
<tr>
<td colspan="3" align="right"><span style="font-size:1.3em;">Total</span></td>
<td align="right">$ '.number_format($total, 2).'</td>
<td></td>
</tr>
<tr>
<td colspan="5" align="center">
<form method="post" action="cart.php">
<textarea name="comments" class="form-control" placeholder="Please enter any special instructions for the order">
'.$_SESSION["comment"].'
</textarea> <br>
<input type="submit" name="place_order" class="btn btn-warning" value="Place Order" />
</form>
</td>
</tr>
';
}
$order_table .= '</table>';
$output = array(
'order_table' => $order_table,
'cart_item' => count($_SESSION["shopping_cart"])
);
echo json_encode($output);
问题在于,当在文本区域中的action.php $_SESSION["comment"]
中添加一段代码以保留客户已写的内容时,应用程序停止在索引页面alert("Product has been Added into Cart");
上提示警报并且在导航到购物车标签时也停止显示有商品添加到购物车,因此即使商品确实已添加到购物车的实际会话变量中,该表也不会显示。有任何想法吗?谢谢。