如何使用jquery进行表单价格计算?

如何使用jquery进行表单价格计算?,jquery,forms,Jquery,Forms,我有以下表格: <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="3

我有以下表格:

 <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.
我真的不知道是否可以将值直接设置为HTML,因为如果用户更改如下:

  <input type="checkbox" name="item[1][]" value="1"> Buy for 10 dollars.
花10美元购买。
它会将错误的值发送到my data.php

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

使用jquery和ajax执行此操作的最佳安全方法是什么?

您可以为每个复选框分配一个id。id允许您单独访问它们:

花10美元买

document.getElementById(“cb10”)

目前尚不清楚您到底想做什么,但由于“x美元购买”元素没有id,您可以使用nextSibling:

var x=document.getElementById(“cb10”).nextSibling.innerHTML

在那句话之后,x的价值是“10美元买”

要确定用户是否选中该框,请使用:


document.getElementById(“cb10”)。选中了

我在这里做一个古怪的猜测,在黑暗中拍摄。我猜您不希望通过HTML表单篡改价格。根据一些建议,您可以执行以下操作:

  • 创建一个可接受的价格列表,并给每个人一个id(如果他们篡改和更改了,他们仍然从您设置的列表中支付可接受的价格。因此,您可以在其他地方处理该论点)
  • 将price 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.
    
    花10美元购买。
    花20美元买。
    花30美元买。
    
    尽管基于你需要的,单选按钮可能比复选框效果更好


    更新:根据问题更新,我更清楚地看到了问题,但是即使价格被篡改,您也可以始终将项目映射到可能的价格,以便能够检测到任何篡改。使用Javascript和JQuery只能提供某种形式的安全性,但在我看来不是这样。服务器端验证更适合于此。

    不清楚……….请提供具体说明最好的方法是服务器端验证。DOM只包含对实际项目的ID引用,因此即使他们编辑了价格,您也会从服务器获得价格。哦,我怎么知道所选框及其相应的价格?哦,谢谢。在这种情况下,我如何进行服务器端验证?这是一个单独的问题,但基本上在存储数据或处理付款之前收到数据时,只需进行一些查找以确保数据是可接受的、准确的等。您仍然应该为复选框分配一个id。这样,您可以访问每一个,并告诉它是否已检查。