如何使用 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");
);
<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,他们在其中谈论此事件。
【讨论】:
我可以这样吗?<input type="hidden" id="datepicker" onclick="ajaxSendDateValue" value="<?php echo $faq[$k]["id"]; ?>">
。对于这种方式,我想让它获取每一行的用户 id 的值并获取 datetime 的值?我将如何实际获取 ajax / javascript 中的日期值?
不,如果你使用隐藏元素你看不到它,所以你不能点击它。
那我该怎么做呢?
您必须使用可见输入并绑定 datepicker 插件,然后您必须使用 onSelect 事件在选择日期时执行操作。这就是我在fiddle 中所做的
我不想创建一个可见的文本框。我希望它被隐藏但仍然获得价值。 gyazo.com/9de3b533e152095a944ed084c1b7f65b以上是关于如何使用 ajax POST 方法将日历值更新到数据库?的主要内容,如果未能解决你的问题,请参考以下文章