2017-05-08 5 views
0

Ich versuche DayPilot Lite Kalender zu implementieren. Bis jetzt ist es in Ordnung, aber ich scheine ein bisschen getroffen zu sein.DayPilot Kalender Ereignis erstellen

Ich versuche ein neues Ereignis im Kalander zu erstellen, aber ich kann anscheinend keine anderen Informationen als den Beginn und das Ende des Ereignisses an den Tagespiloten modal weitergeben.

JavaScript runtime error: 'team' is undefined 

Die obige Zeile ist der Fehler, den ich bekomme. der Steuercode in meiner aspx Seite:

<h1>Welcome <asp:Label ID="lblTeam" runat="server"></asp:Label></h1> 
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
      <asp:ListItem Selected="True" Value="0">Select a pitch</asp:ListItem> 
     </asp:DropDownList> 
     <DayPilot:DayPilotCalendar 
      ID="DayPilotCalendar1" 
      runat="server" 
      DataStartField="sess_start" 
      ShowEventStartEnd="true" 
      DataEndField="sess_end" 
      DataTextField="team" 
      DataIdField="BookingId" 
      ClientObjectName="dpc1" 
      TimeRangeSelectedHandling="JavaScript" 
      TimeRangeSelectedJavaScript="timeRangeSelected(start, end, team, pitch)" 
      OnCommand="DayPilotCalendar1_Command" 
      NonBusinessBackColor="Black" 
      HeightSpec="BusinessHoursNoScroll" 
      BusinessEndsHour="20" 
      OnEventMove="DayPilotCalendar1_EventMove" 
      EventMoveHandling="CallBack" 
      /> 

Mein JavaScript-Code die Daten an den modalen zu senden:

function timeRangeSelected(start, end, team, pitch) { 
     team = document.getElementById('<%= lblTeam.ClientID %>').innerText; 
     var pitchSel = document.getElementById('<%= DropDownList1.ClientID %>'); 
     pitch = pitchSel.options[pitchSel.selectedIndex].value; 
     var modal = new DayPilot.Modal(); 
     modal.top = 60; 
     modal.width = 300; 
     modal.opacity = 70; 
     modal.border = "10px solid #d0d0d0"; 
     modal.closed = function() { 
      if (this.result == "OK") { 
       dpc1.commandCallBack('refresh'); 
      } 
      dpc1.clearSelection(); 
     }; 
     modal.showUrl("New.aspx?start=" + start.toStringSortable() + "&end=" + end.toStringSortable() + "&r=" + team + "&pitch=" + pitch); 
    } 

Ich brauche mehr passieren zu können, als nur den Anfang und bis zum Ziel modal. Wie ich schon erwähnte, bin ich mir nicht wirklich sicher, was hier vor sich geht, also würde jede Anleitung, die angeboten werden könnte, geschätzt werden.

Antwort

0

Ich habe herausgefunden, was ich falsch mache, also dachte ich, ich würde es mit SO teilen, falls jemand anderes die gleichen Probleme hat.

Unten ist mein aktualisierter JavaScript-Code. Grundsätzlich war mein Problem damit verbunden, wo ich die Variablen deklariert hatte, die zum Speichern der Daten verwendet wurden, um sie an das Modal zu übergeben. Ich hatte sie innerhalb der Funktion platziert, wenn sie außerhalb des Bereichs der Funktion deklariert werden mussten. Dummer Fehler, aber leicht zu machen.

var team = document.getElementById('<%= lblTeam.ClientID %>').innerText; 
    var pitchSel = document.getElementById('<%= DropDownList1.ClientID %>'); 
    var pitch = pitchSel.options[pitchSel.selectedIndex].value; 

    function timeRangeSelected(start, end, team, pitch) { 
     var modal = new DayPilot.Modal(); 
     modal.top = 60; 
     modal.width = 300; 
     modal.opacity = 70; 
     modal.border = "10px solid #d0d0d0"; 
     modal.closed = function() { 
      if (this.result == "OK") { 
       dpc1.commandCallBack('refresh'); 
      } 
      dpc1.clearSelection(); 
     }; 
     modal.showUrl("New.aspx?start=" + start.toStringSortable() + "&end=" + end.toStringSortable() + "&r=" + team + "&pitch=" + pitch); 
    } 

Ich hoffe, dass dies jemand in der Zukunft hilft. Vielleicht sogar ich, du weißt es nie!

Verwandte Themen