javascript - 更新函数对话框 jquery php

标签 javascript php jquery dialog fullcalendar

我正在使用全日历。当我点击一个事件时,它会打开一个对话框,我可以在其中看到当前事件的标题/描述/开始日期/结束日期。我有一个更新编辑按钮,所以当我更改其中一个变量时,它会更改数据库中的变量。但这在某种程度上不起作用。

agenda_view.php:

<html>
<head>
<link href='<?=base_url();?>testcalendar/css/fullcalendar.css' rel='stylesheet' />
<script src='<?=base_url();?>testcalendar/js/jquery-1.9.1.min.js'></script>
<script src='<?=base_url();?>testcalendar/js/jquery-ui-1.10.2.custom.min.js'></script>
<script src='<?=base_url();?>testcalendar/js/fullcalendar.min.js'></script>
<script src='<?=base_url();?>testcalendar/js/fullcalendarextern.js'></script>
<script src='<?=base_url();?>testcalendar/js/nieuweafspraak.js'></script>
<link href="<?=base_url();?>testcalendar/assets/css/jquery-ui-1.10.0.custom.css" rel="stylesheet" type="text/css" />

<style>

 body {
  margin-top: 40px;

  }


 #calendar {
  width: 900px;
  margin: 0 auto;
  }

</style>
</head>
<body>
<div id="dialogstatusevent" style="display:none" title="Mijn Afspraak">
<form>
    <div class="control-group">
                <div class="controls">      
        <label class="control-label">Titel:</label>
        <input type="text" name="title" id="titlestatus" class="text ui-widget-content ui-corner-all">
                </div>
    </div>
    <div class="control-group">
                <div class="controls">  
        <label class="control-label">Description:</label>
        <input type="text" name="description" id="descstatus" class="text ui-widget-content ui-corner-all">
                </div>
    </div>
    <div class="control-group">
                <div class="controls">  
        <label class="control-label">Van:</label>
        <input type="text" name="datestatusstart" id="datestatusstart" class="text ui-widget-content ui-corner-all">
                </div>
    </div>
    <div class="control-group">
                <div class="controls">  
        <label class="control-label">Tot:</label>
        <input type="text" name="datestatusend" id="datestatusend" class="text ui-widget-content ui-corner-all">
                </div>
    </div>
        </form>
</div>
<div id='calendar'></div>
</body>
</html>

Fullcalendarextern.js:

$(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();

  var calendar = $('#calendar').fullCalendar({
   editable: true,
   header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
   },

   events: "../testcalendar/fullcalendar/events.php",



   // Convert the allDay from string to boolean
   eventRender: function(event, element, view) {
    if (event.allDay === 'true') {
     event.allDay = true;
    } else {
     event.allDay = false;
    }
   },   
   selectable: true,
   selectHelper: true,
   select: function(start, end, allDay) {
   var title = prompt('Event Title:');
   if (title) {
   var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
   url: '../testcalendar/fullcalendar/add_events.php',
   data: 'title='+ title+'&start='+ start +'&end='+ end ,
   type: "POST",

   });
   calendar.fullCalendar('renderEvent',
   {
   title: title,
   start: start,
   end: end,
   allDay: allDay
   },
   true // make the event "stick"
   );
   }
   calendar.fullCalendar('unselect');
   },
    editable: true,
   eventDrop: function(event, delta) {
   var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
   url: '../testcalendar/fullcalendar/update_events.php',
   data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
   type: "POST",

   });
   },
   eventResize: function(event) {
   var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
   var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
   $.ajax({
    url: '../testcalendar/fullcalendar/update_events.php',
    data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
    type: "POST",

   });

},


eventClick: function(calEvent, jsEvent, view) {
$( "#dialogstatusevent" ).dialog({
    autoOpen: false,
    height: 'auto',
    width: 'auto',
    modal: true,
    closeOnEscape:true, 
    resizable:false, 
    show:'fade',
    buttons: { 
      "Edit": function() {
      var titlestatus = $("#titlestatus").val(),
        descstatus = $('#descstatus').val(),
        datestart = $('#datestatusstart').val(),
        dateend = $('#datestatusend').val();


     $.post('../testcalendar/db/processupdate.php',{
            user_name: titlestatus, user_desc: descstatus, user_start: datestart, user_end: dateend, action:'joined'
        }); var nTime = 1 * 50;
                window.setTimeout("location.reload()", nTime);//End Post
        $("#titlestatus").val('');
        $("#descstatus").val('');
        $("#datestatusstart").val('');
        $("#datestatusend").val('');    
        $(this).dialog("close");

        },
        "Cancel": function() { 
        $("#titlestatus").val('');
        $("#descstatus").val('');
        $("#datestatusstart").val('');
        $("#datestatusend").val('');
        $(this).dialog("close"); 
        } 

    }
    }

    );

    $("#titlestatus").val(calEvent.title),
    $("#descstatus").val(calEvent.description),
    $("#datestatusstart").val(calEvent.end),
    $("#datestatusend").val(calEvent.start),
    $("#datestatusstart").datepicker({ dateFormat: 'yy-mm-dd' }),
    $("#datestatusend").datepicker({ dateFormat: 'yy-mm-dd' });

    $( "#dialogstatusevent" ).dialog( "open" );

    },

   eventMouseover: function(event, domEvent) {
                var layer = '<div id="events-layer" class="fc-transparent" style="position:absolute; width:100%; height:100%; top:-1px; text-align:right; z-index:100"><a><img src="../testcalendar/editbt.png" title="edit" width="14" id="edbut'+event.id+'" border="0" style="padding-right:3px; padding-top:2px;" /></a><a><img src="../testcalendar/delete.png" title="delete" width="14" id="delbut'+event.id+'" border="0" style="padding-right:5px; padding-top:2px;" /></a></div>';
                $(this).append(layer);
                $("#delbut"+event.id).hide();
                $("#delbut"+event.id).fadeIn(300);
                $("#delbut"+event.id).click(function() {
                $.ajax({
                url: '../testcalendar/fullcalendar/delete_events.php',
                data: 'id=' + event.id ,
                type: "POST",
                });
                var nTime = 1 * 50;
                window.setTimeout("location.reload()", nTime);
                });
                $("#edbut"+event.id).hide();
                $("#edbut"+event.id).fadeIn(300);
                $("#edbut"+event.id).click(function() {
                    var title = prompt( '\n\nNew Event Title: ');

                    if(title){
                $.ajax({
                url: '../testcalendar/fullcalendar/update_title.php',
                data: 'title='+ title+'&id='+ event.id ,
                type: "POST",
                });
                var nTime = 1 * 50;
                window.setTimeout("location.reload()", nTime);
                    }


                });
            },   

            eventMouseout: function(calEvent, domEvent) {
                $("#events-layer").remove();
            },


  });

 });

进程更新.php:

<?php
//include db configuration file
include 'connection.php';
function user_joined($user_name,$user_desc, $user_start, $user_end){
        $q = "UPDATE evenement SET title='". $user_name ."'description='". $user_desc ."'start='". $user_start ."'end='". $user_end ."' WHERE id=".$id;
    mysql_query($q);
    }

{
        $user_name=$_POST['user_name'];
        $user_desc=$_POST['user_desc'];
        $user_start=$_POST['user_start'];
        $user_end=$_POST['user_end'];
        $action=$_POST['action'];
        if ($action=='joined'){
            user_joined($user_name, $user_desc, $user_start, $user_end);
            }
    }
/*if ( (isset($_POST["id"]) && strlen($_POST["id"]) >= 3 && strlen($_POST["id"]) <= 60) &&
    (isset($_POST["name"]) && strlen($_POST["name"]) >= 3 && strlen($_POST["name"]) <= 50) &&
    (isset($_POST["age"]) && strlen($_POST["age"]) >= 3 && strlen($_POST["age"]) <= 40) ) 
{   //check $_POST["name"] and $_POST["address"] and $_POST["city"] are not empty

    $id   = $_POST["id"];
    $name = $_POST["name"];
    $age   = $_POST["age"];

    $q = "INSERT INTO tbltest ( id, name, age) VALUES 
            ('".$id."','".$name."','".$age."')";
    mysql_query($q); 

}*/

?>

连接.php:

<?php
    $db_host = "localhost"; 
    // Place the username for the MySQL database here 
    $db_username = "roots";  
    // Place the password for the MySQL database here 
    $db_pass = "root";  
    // Place the name for the MySQL database here 
    $db_name = "blackboks-calendar"; 

    // Run the actual connection here  
    mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
    mysql_select_db("$db_name") or die ("no database");              
?>

最佳答案

尝试是否收到警报?

<?php

include 'connection.php';

function user_joined($user_name,$user_desc, $user_start, $user_end)
{
   $q = "UPDATE evenement SET title='". $user_name ."'description='". $user_desc ."'start='". $user_start ."'end='". $user_end ."' WHERE id=".$id;
    mysql_query($q);
}

    $user_name=$_POST['user_name'];
    $user_desc=$_POST['user_desc'];
    $user_start=$_POST['user_start'];
    $user_end=$_POST['user_end'];

    $action=$_POST['action'];

    if ($action=='joined')
    user_joined($user_name, $user_desc, $user_start, $user_end);

   print_r($_POST);             
  ?>

同样通过POST传递id,你需要发送需要的id

 $.post('../testcalendar/db/processupdate.php',
{  'user_name' : titlestatus,         'user_desc': descstatus, 'user_start' : datestart, 'user_end' : dateend, 'action':'joined' ,'id' : id },
 function(response){ 
    alert(response);        
 });

关于javascript - 更新函数对话框 jquery php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174690/

相关文章:

jquery - 如何在屏幕上可见的 div 中应用视差滚动

jquery - 你如何通过点击那个div之外的任何地方来隐藏一个div?

javascript - 在函数外部传递引用

javascript - typescript : Check for words in a string

php - 在 Laravel 表单中获取具有其他值的行的 ID

javascript - 如果数组为空则禁用按钮并在添加项目时启用?

php - 如何验证表单是否为空? PHP 或 JS

javascript - 如何更改jQuery UI自动完成控件的建议框的大小和外观?

php - mySQL删除前导零,即使数据类型设置为字符串

php - PHP 5.3 之前的静态继承