你如何将javascript变量传递给php来更新表

时间:2015-04-16 19:51:48

标签: javascript php

我使用以下php代码和更新表格的表单。但是我想在sql中添加一个javascript变量,以便将变量添加到数据库中的列中。 该变量与php的文件不同。

php:=

$name = $_POST['firstname'];
 $lastname = $_POST['lastname'];
 $userAddress = $_POST['address'];
 $userPostCode = $_POST['postcode'];
 $delivery = $_POST['deliverytype'];

 $sql = "INSERT INTO USERS (FIRSTNAME, SECONDNAME, ADDRESS, POST_CODE, DELIVERY_TYPE) VALUES ('$name', '$lastname', '$userAddress', '$userPostCode', '$delivery') ";
 $conn->exec($sql);

然后,我希望从Total_Order_Cost$totalCost

中的以下javascript中添加一个totalcost变量

这是我希望从

中获取变量totalPrice的js函数
function displayBasket(){

  basket = document.getElementById("basket"); 
  string = "";
  var basketStorage = localStorage.getItem("basket"); 
  jsonBasket = JSON.parse(basketStorage); 

    var totalPrice = 0;
    itemTotal = 0;
  for (var property in jsonBasket){ 

    var qPrice = jsonBasket[property ].quantity * jsonBasket[property ].cost;
    var total = jsonBasket[property ].quantity;
    string += "<section id='basketPageSection'>";
    if(jsonBasket.hasOwnProperty(property )){ 
      string += "<p>Item: " + jsonBasket[property ].name + "</p>"; 
      string += "<p>Price: £" + jsonBasket[property ].cost + "</p>"; 
      string += "<p>Quantity: " + jsonBasket[property ].quantity + "</p>"; 

    }

    totalPrice += qPrice;
    itemTotal += total;
    string += "</section>";

  }

  string += "<section id='basketSection'> <h3> Total Cost: £" + parseFloat(totalPrice).toFixed(2) + "</h3></section>"

  basket.innerHTML = string; 
  displayQuant();
}

2 个答案:

答案 0 :(得分:2)

您可以使用隐藏的输入字段更改其值属性,并与表单的其余部分一起提交。

<input type="hidden" name="calc" id="calc" value="">

使用Jquery设置其值

$('#calc').val(someval);

更新Javascript

document.getElementById("calc").value="Your Value";

答案 1 :(得分:0)

您可以使用ajax。

对我来说这是最好的解决方案:

在javascript中使用这样的代码:

value1= ... ; // firstname
value2= ... ; // lastname    
$.ajax({
        type: 'post',
        url: 'post.php',
        data: 'firstname='+value1+'&lastname='+value2+'&address= ....,
        success: function () {
          alert('data sent');
        }
      });
  

另一种方式

$.ajax({
            type: 'post',
            url: 'post.php',
            data: $('#formID').serialize()+"&extraval=1&extraval2=2...",
            success: function () {
              alert('data sent');
            }
          });