我目前是一名學生,並在過去幾週一直在涉足php。我將首先嚐試用簡單的英語解釋我的問題,然後提供一些代碼以顯示問題的複雜性。php在表單提交動作值設置爲空,直到第二個表單提交然後設置爲值
我正在處理產品訂購屏幕,用戶首先從數據庫填充的下拉列表中選擇產品類別。
選擇產品類別下拉列表後,使用ajax查詢從數據庫填充產品名稱下拉列表。
的index.php
$(".Product_Category").change(function()
{
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax({
type: "POST",
url: "ajax_product.php",
data: dataString,
cache: false,
success: function(html) {
$(".Product_Name").html(html);
}
});
});
的ajax_product腳本基本上接收選擇的類別的ID,然後用得到它從數據庫相關聯的產品,然後返回產品名稱的成功:功能index.php中的ajax語句就是這樣。
ajax_product
echo '<option value="'.$id.'">'.$data.'</option>';
一旦用戶從下拉選擇了商品和提交按鈕點擊表單提交下面的操作:
表
<form method="post" class="form-horizontal " action="Place_Order_3.php?action=add&code=<?php echo($Prod_Name_Succ)?>">
$ Prod_Name _Succ變量設置爲在下拉列表中選擇的產品ID。 $ Prod_Name_Succ = $ _ POST [ 'PRODUCT_NAME']。
現在,這裏是我的問題,最後。 據我瞭解,這裏有一個因果關係問題,因爲當我第一次提交表單時,即使我從下拉列表中選擇了一個產品,操作代碼也設置爲「」。在第二個表單提交時,變量$ Prod_Name_Succ現在被設置爲在下拉列表中選擇的產品ID,現在我可以將該產品添加到購物車。
因此,在我看來,表單不能將$ Prod_Name_Succ代碼添加到操作,直到它已經通過表單提交功能,即。 if(!empty($_GET["action"]) { }
,所以我永遠不會在第一次提交表單時添加產品。
我曾嘗試使用$_Session
來存儲該id並將其設置爲無,但同樣的問題似乎仍然適用。
請提供表格HTML – Derek
輸入數據在哪裏? –