javascript - 使用 PHP 将 JavaScript 变量发布到 MySQL

标签 javascript php jquery html mysql

我正在尝试向 PHP 发送一个 JavaScript 变量,但不太确定该怎么做,有几件事提到了 Ajax,但我以前从未使用过它,无法理解它。有谁知道最简单的方法是什么?我试图在我的数据库中填充的列称为“cogs”。

我有以下 JavaScript 代码:

<script>
    $(document).ready(function() {
        $('#duration-select').change(function() {
var cogs = $('#cogsday').html();

                cogs = cogs.replace(/\D/g,'');

        var x =$('#duration-select').val();


        var y = cogs * x;

        $('#request').removeClass('hidden');

         $('#duration-value').text('Total cost for this duration = ' + (y) + ' cogs');

            if($(this).val() !== '') {


            } else {
                $('#duration-value').text('');

            }
        });
        $('#request').click(function() {

                var cogs = $('#cogsday').html();

                cogs = cogs.replace(/\D/g,'');

        var x =$('#duration-select').val();

        var y = cogs * x;
        $('#total').text(y);

        });

    });
    </script>

以及以下 HTML 代码:

<label id="total"></label>

这是我尝试发布数据的地方,除了 $cost 之外的所有其他内容都在发布:

<form name="form" method="post">
            <div class="modal-footer">

                <?php

                    if ($row3['availability'] === 'Available') {
                    if (isset($_POST['request'])) {

                        $to_id     = $row3['customerid'];
                        $from_id   = $_SESSION['customerid'];
                        $time_sent = date('Y-m-d H:i:s');
                        $subject   = 'Request for ' . $row3['title'];
                        $title     = $row3['title'];
                        $listingid = $listingid;
                        $cost      = $_POST['total']; //posting 0                        

                        $message   = $customer_data['first_name'] . ' ' . $customer_data['last_name']

                        $request = mysql_query("INSERT INTO messages (to_id, from_id, listing_id, time_sent, subject, message, cogs, messagenumber, title, msgrand) VALUES ('$to_id', '$from_id', '$listingid', '$time_sent', '$subject', '$message', '$cost', '1', '$title', '$randomString')") or die(mysql_error());

                    }


                }


?> 
                <input type="submit" class="btn btn-success" name="request" value="Yes" /> 
                <input type="submit" class="btn btn-danger" data-dismiss="modal" value="No" />  

        </div>
    </form>   

然后我尝试将标签 id=total 的值发布到我的数据库或 JavaScript 变量 (y)。问题是 0 总是被发送到数据库,而它应该是 id 总计标签中的值。

最佳答案

为隐藏变量使用名称参数,它将自动传递给 PHP。

<label id="total"></label>

<input type="hidden" name="total" id="nameID"/>

$('#total').text(y); 下面的 javascript 中写入 $('#nameID').val(y); 。一切都会正常工作。

您使用了 total 标签,但是 $_POST 只能识别输入类型,所以使用 input type=.... 而不是标签、divs 等

关于javascript - 使用 PHP 将 JavaScript 变量发布到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559912/

相关文章:

javascript - 同步和异步编程有什么区别(在node.js中)

javascript - 为什么 document.execCommand ("copy") 在 Internet Explorer 11 中不再有效?

php - DomDocument 删除属性

jquery - 如何通过KO的绑定(bind)方法更改表格行背景颜色?

javascript - 八位字节流数据 URI 忽略 <a> 'download' 属性

javascript - 将数组中的字符串用作函数的变量

php - 如何将 MySql 数据库与 Firebase 连接?

php - 使用 PHP 将表单数据发送/发布到 URL

asp.net - 在 ASP.NET 母版页中使用 JQuery

javascript - 在 Javascript 中实现解耦代码/回调的正确方法是什么?