【问题标题】:Save Jquery var sum in DB MySQL在 DB MySQL 中保存 Jquery var sum
【发布时间】:2015-06-30 02:26:08
【问题描述】:

我正在使用 jquery 对输入复选框的值求和,我需要将总和保存到 DB MySQL 中,但我如何将值放入 php var 中?我不知道我该怎么做。

有人可以帮帮我吗?我是 jquery 的新手:/

这是我正在使用的代码:

<script type="text/javascript">
$(document).ready(function () {     
        function recalculate() {
            var sum = 0;

            $("input[type=checkbox]:checked").each(function() {
                var val = $(this).attr("preco").replace(',', '.'); 
                sum += parseFloat(val);
            });

            $("#output").html(sum);
        }

        $("input[type=checkbox]").change(function() {
            recalculate();
        });
});
</script>

<?php
if (isset($_POST['submit'])){
$transporte = $_POST['metodoenvio'];

 (... save into DB)
}
?>

<span id="output"></span> // the sum in html shows up here

<form class="cmxform" id="pedidoForm" method="post" action="">
<input type="checkbox" name="metodoenvio" class="metodoenvio" preco="20" />
<input type="checkbox" name="metodoenvio" class="metodoenvio" preco="10" />
(...)
<input type="submit" name="submit" id="submit" value="submit"/>
</form>

【问题讨论】:

  • 那么有什么问题?
  • 如果您只是想将SUM 发送回服务器,您不能只使用.ajax.post 方法吗?

标签: php jquery save var


【解决方案1】:

在表单标签中取一个带有一些 id 的隐藏类型变量,并将值放在 hidden variable by jquery 中,例如:

$("#hidden_var").val(sum);

然后在最后提交表单

【讨论】:

    【解决方案2】:

    向表单添加新的隐藏输入字段以保存总和

        <form class="cmxform" id="pedidoForm" method="post" action="">
    //add new hidden input field to have the sum
    <input id="sum_input" name="sum" type="hidden"/>
        <input type="checkbox" name="metodoenvio" class="metodoenvio" preco="20" />
        <input type="checkbox" name="metodoenvio" class="metodoenvio" preco="10" />
        (...)
        <input type="submit" name="submit" id="submit" value="submit"/>
        </form>
    

    //然后用jquery把sum放到输入id sum

    function recalculate() {
                var sum = 0;
    
                $("input[type=checkbox]:checked").each(function() {
                    var val = $(this).attr("preco").replace(',', '.'); 
                    sum += parseFloat(val);
                });
    
                $("#output").html(sum);
               //jquery to put sum into form
                $("#sum_input").val(sum);
            }
    

    【讨论】:

      【解决方案3】:

      您应该将 php 服务器端脚本从 html/js 客户端页面中分离出来。创建一个单独的 php 页面,以便处理数据并通过 ajax 调用调用它。

      将您的提交按钮更改为一个按钮并附加一个 onclick 事件以调用一个函数,该函数将对复选框进行求和,然后启动和 ajax 请求。

      <script>
      function sumChecked(){
        i = 0;
        $.each($('#pedidoForm:ckecked), function({
          i++;
        });
        $.ajax({
          url:"yourPHPpage.php",
          type:"POST",
          data:{"sumVar":i},
          success: function(data){
            alert ("Process Complete");
          }
        })
      }
      ...
      </script>
      ...
      <form class="cmxform" id="pedidoForm">
      <input type="checkbox" name="metodoenvio" class="metodoenvio" preco="20" />
      <input type="checkbox" name="metodoenvio" class="metodoenvio" preco="10" />
      (...)
      <input type="button" name="submit" id="submit" value="submit" onClick="sumChecked()"/>
      </form>
      

      然后在您的 php 页面上捕获从表单发送的 $_POST['sumVar'] 变量,并使用该信息对服务器端执行任何操作。

      【讨论】:

        猜你喜欢
        • 2021-10-17
        • 2019-09-10
        • 1970-01-01
        • 2017-04-05
        • 1970-01-01
        • 2018-11-23
        • 2019-04-20
        • 2013-09-22
        • 1970-01-01
        相关资源
        最近更新 更多