Vai al contenuto
jQuery Italia
jQuery Italia

La community italiana di jQuery

  • HOME
  • IMPARA
    • Tutorials jQuery Italia
    • Tutorials dal web
    • Supporto ed Aiuto
  • CONTRIBUISCI
    • Nuovo Articolo
    • Nuovo Tutorial
  • SVILUPPA
    • Snippets
    • Tools
    • Download
    • Plugins
    • Links
  • NOTIZIE
    • jQuery
    • jQuery UI
    • Projects
  • CONTATTI
  • LOGIN
  • REGISTRATI

Full calendar

Home › Forum › Supporto ed Aiuto › Richieste di aiuto, script e tutorial

Scrivi le tue richieste di aiuto nella sezione relativa.
Richieste di aiuto generiche o riguardanti script o tutorial creati dalla community jQuery Italia.
  • Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 1 anno fa da francesco.
Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Autore
    Post
  • 13 Novembre 2013 alle 13:14 #5526
    francesco
    Partecipante

    Buongiorno a tutti,

    ho creato una pagina web con il full calendar (lato settimana) con inizio del giorno a Domenica e fine al Sabato. Inoltre nel mio calendario (in testa) ho inserito l’icona del’excel per poter esportare i miei dati su un excel. Fin qui tutto bene. Vorrei sapere se, oltre ai miei dati esportati sull’excel (in realtà chiamo una nuova pagina php e li lavoro i dati ricevuti e creo il corrispondente excel), é possibile anche portarsi i dati relativi alla visualizzazione della settimana, ad esempio l’inizio della settimana settimana ( 11/11/2013) e fine settimana ( 16/11/2013). In pratica nel mio php mi occorrono anche queste due date.

     

    Grazie

    13 Novembre 2013 alle 15:44 #5527
    jqueryitalia
    Amministratore

    Da quel che ho capito stai utilizzando la vista basicWeek.
    Per recuperare le date di inizio e fine settimana, devi utilizzare le funzioni visStart e visEnd.

    In pratica, supponendo che il contenitore del calendario abbia ID “calendar” e che tu voglia estrarre le date di inizio e fine settimana nel formato gg/mm/yyyy dovrai scrivere:

    viewStart = $('#calendar').fullCalendar('getView').visStart;
    viewEnd = $('#calendar').fullCalendar('getView').visEnd;
    start = viewStart.getDate() + '/' +  ( viewStart.getMonth() + 1 ) + '/' + viewStart.getFullYear();
    end = ( viewEnd.getDate() - 1 ) + '/' +  ( viewEnd.getMonth() + 1 ) + '/' + viewEnd.getFullYear();

    Tieni conto che per il mese va sempre aggiunto 1 per avere il valore corretto e che al giorno di fine settimana va tolto 1 in quanto il range è da domenica a domenica, mentre la visualizzazione va da domenica a sabato.

    Buon lavoro!

    13 Novembre 2013 alle 18:29 #5528
    francesco
    Partecipante

    Ti posto il codice di creazione del mio Calendar, cosi’ mi indichi dove andare a scrivere le righe di codice da te suggerite:

    function CreaCalendario(cdsede, cdtuto, cdalli, cdindi, cdmate, cdpath)
    {
    var firstUrl = null;
    var secondUrl = null;
    
    $('.external-class').each(function() {
    
    // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
    // it doesn't need to have a start or end
    var eventObject = {
    title: $.trim($(this).text()) // use the element's text as the event title
    };
    
    // store the Event Object in the DOM element so we can get to it later
    $(this).data('eventObject', eventObject);
    
    // make the event draggable using jQuery UI
    $(this).draggable({
    zIndex: 999,
    revert: true,      // will cause the event to go back to its
    revertDuration: 0,  //  original position after the drag
    start: function(){
    $('#calendar').fullCalendar('changeView', 'agendaWeek');
    }
    });
    
    });
    
    $('#calendar').fullCalendar({
    day: 'dddd, MMM d, yyyy',
    theme: true,
    header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
    },
    titleFormat: {
    month: 'MMMM yyyy',
    week: "MMMM d[ yyyy]{ '—'[ MMM] d, yyyy}",
    day: 'dddd, d MMMM yyyy'
    },
    columnFormat: {
    month: 'ddd',
    week: 'ddd d',
    day: 'dddd M/d'
    },
    eventColor: '#378006',
    editable: true,
    //disableDragging: true,
    disableResizing: true,
    selectable: true,
    droppable: false, // this allows things to be dropped onto the calendar !!!
    minTime: 9,
    firstHour: 9,
    maxTime: 21,
    lastHour: 21,
    allDaySlot : false,
    events: "php/eventi.php?cdsede="+cdsede+"&cdtuto="+cdtuto+"&cdalli="+cdalli+"&cdindi="+cdindi+"&cdmate="+cdmate+"&cdpath="+cdpath+"",
    
    eventClick: function(calEvent, jsEvent, view)
    {
    if(cdpath === 'xx01')
    {
    firstUrl = 'php/Source01.php';
    secondUrl = 'php/Source02.php';
    }
    else if(cdpath === 'xx02')
    {
    firstUrl  = 'php/Source03.php';
    secondUrl = 'php/Source04.php';
    }
    $.ajax({

    … etc etc etc …

    Grazie 1000

     

     

    13 Novembre 2013 alle 19:09 #5530
    jqueryitalia
    Amministratore

    Se devi passare i dati al file php che ti stampa l’Excel, inseriscili prima della chiamata 😉

    14 Novembre 2013 alle 11:21 #5531
    francesco
    Partecipante

    Mi permetto di chiedere un ulteriore aiuto poiché non capisco dove poter inserire le istruzioni relative al prelievo delle due date, che dovrei poi passare al pgm che costruisce il mio excel.
    Questa é la funzione CreaCalendario (posto il codice con le righe iniziali):

    function CreaCalendario(param01, param02,.....)
    {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var firstUrl = null;
    var secondUrl = null;
    
    $('.external-class').each(function() {
    
    // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
    // it doesn't need to have a start or end
    var eventObject = {
    title: $.trim($(this).text()) // use the element's text as the event title
    };
    
    // store the Event Object in the DOM element so we can get to it later
    $(this).data('eventObject', eventObject);
    
    // make the event draggable using jQuery UI
    $(this).draggable({
    zIndex: 999,
    revert: true,      // will cause the event to go back to its
    revertDuration: 0,  //  original position after the drag
    start: function(){
    $('#calendar').fullCalendar('changeView', 'agendaWeek');
    }
    });
    
    });
    
    $('#calendar').fullCalendar({
    day: 'dddd, MMM d, yyyy',
    theme: true,
    header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
    },
    titleFormat: {
    month: 'MMMM yyyy',
    week: "MMMM d[ yyyy]{ '—'[ MMM] d, yyyy}",
    day: 'dddd, d MMMM yyyy'
    },
    columnFormat: {
    month: 'ddd',
    week: 'ddd d',
    day: 'dddd M/d'
    },
    eventColor: '#378006',
    editable: true,
    //disableDragging: true,
    disableResizing: true,
    selectable: true,
    droppable: false, // this allows things to be dropped onto the calendar !!!
    minTime: 9,
    firstHour: 9,
    maxTime: 21,
    lastHour: 21,
    allDaySlot : false,
    events: "php/eventi.php?param01="+param01+"&param02="+param02+....",
    
    eventClick: function(calEvent, jsEvent, view)

    Ho questo ajax che mi chiama il php gestione01.php, dove ho la chiamata al secondo php per la gestione dei dati che andranno stampati su excel.

    $.ajax(
    {
    type: "GET",
    url: "gestione01.php",
    data: "param01="+param01+"&param02="+param02+"&param03="+param03,
    dateType: 'html',
    cache: false,
    success: function(msg)
    {
    $('#dialog').html(msg);
    $('#dialog').dialog(
    {
    width: 1200,
    height: 600,
    modal: true,
    buttons:
    {
    "Esci": function()
    {
    $(this).dialog("close");
    }
    }
    ,open: function()
    {
    var cd0001 = " ";
    CreaCalendario(cd0001, cd0002, cd0003);
    }
    });
    }
    });

    Questo é il secondo php (frammento di pgm):

    <?php
    //include('session.php');
    $param01 = $_GET['param01'];
    $param02 = $_GET['param02'];
    $param03 = $_GET['param03'];
    $stringa = (htmlentities('Planning della settimana: ')).' '.$param01.' '.$param02;
    ?>
    
    <fieldset>
    <div align="center"> <h2><font color = "green"><?php echo $stringa; ?></font></h2></div>
    <br>
    <table border="0" cellpadding="0" cellspacing="0" width="100%" id='tableContent'>
    &param02=<?php echo $param02;?>">
    </table>
    
    <br>
    <br>
    
    <table border="0" cellpadding="0" cellspacing="0" width="100%" id='tableContent'>
    <div align="center" id='calendar'>
    </div>
    </table>
    </fieldset>
    
    <div id="dialog" style="background-color:#CCCCCC; display:none"></div>

    Naturalmente c’é anche una seconda soluzione. Cioé reperire le due date (Domenica 10/11/2013 e Sabato 16/11/2013) lavorando con una nuova funzione in php (reperisco la data odierna di lavoro e vado avanti e indietro per reperire il Sabato (16/11/2013) e la Domenica (10/11/2013). Però non vorrei risolvere il problema con questa seconda opzione.

    Grazie.

    14 Novembre 2013 alle 19:21 #5533
    jqueryitalia
    Amministratore

    Se non ho capito male, la chiamata ajax la fai all’interno della funzione eventClick di FullCalendar.
    Quindi:

    .....
    
    eventClick: function(calEvent, jsEvent, view) {
    	if(cdpath === 'xx01') {
    		firstUrl = 'php/Source01.php';
    		secondUrl = 'php/Source02.php';
    	} else if ( cdpath === 'xx02' ) {
    		firstUrl  = 'php/Source03.php';
    		secondUrl = 'php/Source04.php';
    	}
    
    	viewStart = $('#calendar').fullCalendar('getView').visStart;
    	viewEnd = $('#calendar').fullCalendar('getView').visEnd;
    	start = viewStart.getDate() + '/' +  ( viewStart.getMonth() + 1 ) + '/' + viewStart.getFullYear();
    	end = ( viewEnd.getDate() - 1 ) + '/' +  ( viewEnd.getMonth() + 1 ) + '/' + viewEnd.getFullYear();
    
    	$.ajax({
    
    .....

    Se così non fosse, basta semplicemente che aggiungi le righe prima della chiamata ajax, “portandoti dietro” le variabili start ed end. 😉

    15 Novembre 2013 alle 10:11 #5534
    francesco
    Partecipante

    Buongiorno,

     

    ok funziona. Grazie per l’aiuto.

    Franco

  • Autore
    Post
Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Devi essere connesso per rispondere a questo topic.
Accesso
Accedi con Facebook
Accedi con Google
Accedi con Twitter

Login

Accedi con Facebook
Accedi con Google
Accedi con Twitter
  • Registrati
  • Password dimenticata?

SOSTIENI jQuery Italia

Aiuta la Community di jQuery Italia a rimanere in vita per contribuire a diffondere le conoscenze di base ed avanzate di jQuery.

Download in evidenza

  • gmap104.html (3527 download)
  • jquery-1.4.1.min.js (3110 download)
  • tinytips11.html (3087 download)
  • jqueryformwizard-201.html (3072 download)
  • jquery-ui-1.8rc1.zip (2965 download)
  • jquerytools120.html (2890 download)
  • jquery-1.4.2.min.js (2884 download)
  • calendarPicker.html (2872 download)
  • 1.0.0.zip (2867 download)
  • move-background.html (2833 download)

jQuery Links

  • jQuery Howto
  • jQuery Official Site
  • jQuery UI Official Site
  • Learning jQuery
  • Use jQuery

SITO SEGNALATO SU

Sito segnalato da Freeonline.it - La guida alle risorse gratuite Mooseek.com - Web Directory, Download Software, Giochi Online, Video Tecnologici, Siti d'Affari

TAG

aggiornamento (3) ajax (5) Android (5) animazione (49) api (10) BlackBerry (4) calendario (3) canvas (4) css3 (9) form (12) framework (41) gallery (8) google (5) grafici (2) html5 (11) immagini (38) javascript (29) jQuery (160) jQuery UI (15) Linux Day (3) maps (3) menu (6) mobile (10) news (2) open source (4) overlay (3) plugin (93) Plugins (17) presentation cycle (4) projects (11) responsive (5) slider (7) slideshow (18) Smartphones (5) Tablets (4) template (5) testo (2) tooltip (6) tutorial (12) upload (3) utility (18) VELug (3) video (3) widget (3) zoom (3)
jQuery Italia

La community italiana di jQuery

  • Facebook
  • Twitter
  • Linkedin
  • Youtube
Tutti i loghi ed i marchi contenuti e citati in questo sito sono dei rispettivi propietari.
Privacy Policy
Cookies Policy
COPYRIGHT © 2010 - 2022 jQuery Italia
Designed By ZeeTheme
Posting....