如何使用 ajax POST 方法将日历值更新到数据库?

Posted

技术标签:

【中文标题】如何使用 ajax POST 方法将日历值更新到数据库?【英文标题】:How can I make my calendar value update to my database with my ajax POST method ? 【发布时间】:2017-04-26 03:02:44 【问题描述】:

我试图让它在单击我的图像时打开一个日历,当在日历上选择日期时,使用我的 AJAX 方法使用新日期更新我的数据库。 *请注意,我的代码与数据库中的普通 html 文本更新有关。我只需要获取日历以使用它更新数据库的帮助。

我的代码如下:

HTML 代码

<td style="border: 1px solid #eee; text-align: center; font-size: 11px;" contenteditable="false" onBlur="saveToDatabase(this,'time','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);">
<?php echo $faq[$k]["time"] != '' ? $faq[$k]["time"] : 'None'; ?>
<input type="hidden" id="datepicker">

AJAX 代码

        function showEdit(editableObj) 
            $(editableObj).css("background","#FFF");
         

        function saveToDatabase(editableObj,column,id) 
            $(editableObj).css("background","#FFF url('images/spin.gif') no-repeat right");
            $.ajax(
                url: "includes/saveedit_members.php",
                type: "POST",
                data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
                success: function(data)
                    window.location.replace("admin_members.php");
                
           );
        

javascript

    <script>
    $(function() 
        $("#datepicker").datepicker(
           showOn: 'button',
           buttonImage: 'http://theonlytutorials.com/demo/x_office_calendar.png',
           buttonImageOnly: true,
           changeMonth: true,
           changeYear: true,
           showAnim: 'slideDown',
           duration: 'fast',
           dateFormat: 'dd-mm-yy'
        );
    );
    </script>

PHP 接收代码

    if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) 
    header('Location: error-pages/index.php');
 else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) 
    mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  id=".$_POST["id"]);

请记住,我只是需要帮助来制作它,以便在点击我想要的日期时更新我的​​数据库。

它的外观示例图片:

【问题讨论】:

【参考方案1】:

如果您需要在日历中选择日期时更新数据库,您可以使用 onSelect 事件,它会在选择日期时调用函数。

查看日期选择器documentation 或查看question,他们在其中谈论此事件。

【讨论】:

我可以这样吗? &lt;input type="hidden" id="datepicker" onclick="ajaxSendDateValue" value="&lt;?php echo $faq[$k]["id"]; ?&gt;"&gt;。对于这种方式,我想让它获取每一行的用户 id 的值并获取 datetime 的值?我将如何实际获取 ajax / javascript 中的日期值? 不,如果你使用隐藏元素你看不到它,所以你不能点击它。 那我该怎么做呢? 您必须使用可见输入并绑定 datepicker 插件,然后您必须使用 onSelect 事件在选择日期时执行操作。这就是我在fiddle 中所做的 我不想创建一个可见的文本框。我希望它被隐藏但仍然获得价值。 gyazo.com/9de3b533e152095a944ed084c1b7f65b

以上是关于如何使用 ajax POST 方法将日历值更新到数据库?的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 日历更新页面 rails 4

如何通过ajax从表单发送POST数据数组?

ajax 使用POST方法传的数据服务端怎么接

Ajax 帖子的成功部分无法在完整日历代码中运行

如何动态更新ModelForm的初始值?

如何使用NodeJS上的本机Ajax发送Post by Post请求