AJAX提交表单和时间而不刷新

时间:2017-12-07 12:29:24

标签: javascript php jquery ajax

我有一个简单的表单,通过AJAX将一些数据提交到Google表格,这是成功的。

我需要发送当前时间。 time会发送,但除非刷新页面,否则它将保持不变。

大概是因为我使用PHP来将timedate存储在隐藏的输入中,并且在刷新页面之前这些值不会更新。

我无法刷新页面,它必须保持静态。

如何将datetime值存储为实时并使用AJAX发送?

我的代码如下;

HTML / PHP

<form id="feedbackFormGood" name="feedbackFormGood">
    <input hidden="true" name="Feedback" type="text" value="GOOD"> 
    <input hidden="true" name="Date" type="text" value="<?php echo date('j/n/Y'); ?>"> 
    <input hidden="true" name="Time" type="text" value="<?php echo date('H:i:s'); ?>"> 
    <input src="images/feedback/happy.png" type="image">
</form>

AJAX

$(document).ready(function() {
    var request;
    $("#feedbackFormGood").submit(function(event)
    {
        event.preventDefault();
        var $form = $(this);
        var $inputs = $form.find("input, select, button, textarea");
        var serializedData = $form.serialize();
        request = $.ajax(
        {
            url: "MyURL", // this is a Google Sheet
            type: "post",
            data: serializedData
        });
    });
});

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:5)

尝试使用JavaScript添加日期和时间

$(document).ready(function() {
    var request;
    $("#feedbackFormGood").submit(function(event)
    {
        event.preventDefault();
        var today = new Date();
        var date = today.getDate()+'/'+(today.getMonth()+1)+'/'+today.getFullYear();
        var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds()
        var $form = $(this);
        var $inputs = $form.find("input, select, button, textarea");
        var serializedData = $form.serialize();
        request = $.ajax(
        {
            url: "MyURL", // this is a Google Sheet
            type: "post",
            data: serializedData + '&Date=' + date + '&Time=' + time
        });
    });
});

答案 1 :(得分:-2)

你可以使用php内置函数“now()”在数据库中插入日期时间... 在数据库中插入数据时使用此插入查询,不要尝试从表单或ajax传递日期时间。 您可以在服务器端编写代码以定期存储日期和时间。