2015-11-14 57 views
-1

我有這樣的形式:我該如何使用jQuery來完成表格價格?

<2>First Item</h2> 
<input type="checkbox" name="item[1][]" value="10"> Buy for 10 dollars. 
<input type="checkbox" name="item[1][]" value="20"> Buy for 20 dollars. 
<input type="checkbox" name="item[1][]" value="30"> Buy for 30 dollars. 
<h2>Secound Item</h2> 
<input type="checkbox" name="item[2][]" value="10"> Buy for 10 dollars. 
<input type="checkbox" name="item[2][]" value="20"> Buy for 20 dollars. 
<input type="checkbox" name="item[2][]" value="30"> Buy for 30 dollars. 

我想送我的data.php。

$price_one = $POST['item[1][]']; //Here get the price 
$price_two = $POST['item[3][]']; //Here get the price 

我真的不知道我是否可以設置直接到HTML的價值,因爲如果用戶改變,如:

<input type="checkbox" name="item[1][]" value="1"> Buy for 10 dollars. 

它會發送到錯誤的值我data.php。

什麼是最好的和安全的方式來做到這一點與jQuery和AJAX?

+0

不清楚........... –

+0

請提供具體信息 –

+0

做到這一點的最佳方法是服務器端。DOM僅包含實體項目的ID參考,因此即使他們編輯價格,您也會從服務器獲得價格。 –

回答

0

我在這裏採取了怪誕的猜測,在黑暗中拍攝。我猜你不想通過你的HTML表單篡改價格。從一些建議,你可以做這樣的事情:

  1. 創建的價格是可以接受的一組列表,並給每一個ID(如果他們篡改和改變他們仍然設置列表中付出可接受的價格。所以,你可以在其他地方處理這樣的說法)
  2. 設置價格id作爲複選框值,一旦ID東西進程匹配,如果不返回錯誤

下面是一些視覺效果:

//storage structure 
id | price 
------------ 
1 | 10 
2 | 20 
3 | 30 

HTML表單:

<input type="checkbox" value="1"> Buy for 10 dollars. 
<input type="checkbox" value="2"> Buy for 20 dollars. 
<input type="checkbox" value="3"> Buy for 30 dollars. 

雖然基於你所需要的單選按鈕,可以更好地鍛鍊身體,而不是複選框

更新:根據問題的更新我多一點清楚地看到問題,但是即使價格被篡改後,您可以隨時將商品映射到可能的價格,以便檢測到任何篡改。使用Javascript和JQuery只能給你一些安全形式,但在我看來並不是。服務器端驗證對此更好。

+0

哦,謝謝。我如何在這種情況下進行服務器端驗證? –

+0

這是一個單獨的問題,但基本上在存儲數據或處理付款之前收到數據時,只需進行一些查找以確保數據可接受,準確等。 –

0

您可以爲每個複選框分配一個ID。該ID將允許您單獨訪問它們:

購買10美元。

的document.getElementById(「CB10」)...

目前尚不清楚你想要做什麼,但由於「購買了X美元的元素沒有ID,你可以使用nextSibling:

var x = document.getElementById(「cb10」)。nextSibling.innerHTML;

在聲明之後,x的值是'Buy for 10 dollars'。

要確定用戶是否選中該複選框用途:

的document.getElementById(「CB10」)檢查

+0

您仍然應該爲複選框分配一個ID。這樣你可以訪問每一個,並告訴它是否被檢查。 –