0

Я создал (нашел и немного отредактировал) сценарий онлайн, который принимает ответы из формы Google, отправляет ответы на листе и создает события календаря на основе статической метки времени.циклические листы Google в несколько событий календаря

Код работает отлично. Существует также цикл для предотвращения двойного бронирования, который я не показывал.

Следующий шаг - создать оператор цикла/if/и, который позволит мне добавлять несколько раз в форму, позволяя персоналу (я учитель) выбирать период или несколько периодов, когда они хотели бы чтобы проверить часть оборудования.

Я бы добавил изображение сценария, но не могу b/c Я новичок в stackoverflow. Итак, вот лучшее, что я могу дать, не делая сообщение слишком долго.

оригинальный ...

//For loop processes the entries one row at a time. 


for (var i = 0; i < myData.length; ++i) 
     { 
    var row = myData[i]; //ith row of data 
    if(row[0]=="") //row[0] is the entry in the "Timestamp" column (i.e. the first, or index 0 column) 
    { 
     i=myData.length //when the timestamp column is empty, you've reached the end of the data, so this jumps you out of the loop 
    } 
    else 
    { 
     var timestamp = row[0]; //timestamp of the entry (stored as a javascript Date object) 
     var event_name = "Laptop - Cart 2"; // Second column (first column has timestamp), stores the name of the event as a string. 
     var start_date = row[3]; // Date for the start of the event (stored as a javascript Date object) 
     var startDt = new Date();// Time for the start of the event (stored as a javascript Date object) 
     startDt.setHours(08); 
     startDt.setMinutes(30); 
     var end_date; 
     if(row[4]=="") //if this column is blank, the end date is set to the start date, otherwise the end date is stored. 
      {end_date=row[3];} 
      else 
      {end_date=row[4];} //if this column is blank, the end date is set to the start date, otherwise the end date is stored. 

     var end_time = new Date(); 
     end_time.setHours(15); 
     end_time.setMinutes(30); 

     var location = row[5] ; // Location of the event stored as a string 
     var description = row[7]; // Description of the event stored as a string 
     var email_address = row[1]; //Email address of the user stored as a string 

что я надеялся изменить .. обратите внимание на изменение временных меток для строки 3 и 4

var start_time = row [3] 
    var startDt = new Date();// Time for the start of the event (stored as a javascript Date object) 
    startDt.setHours(08); 
    startDt.setMinutes(30);  
    var end_time = new Date(); 
    end_time.setHours(11); 
    end_time.setMinutes(30); 


    var start_time = row [4]  
    var startDt = new Date();// Time for the start of the event (stored as a javascript Date object) 
    startDt.setHours(11); 
    startDt.setMinutes(45);  
    var end_time = new Date(); 
    end_time.setHours(15); 
    end_time.setMinutes(30); 

Моя проблема заключается в сценарий только читает второй набор значений. Событие календаря создает событие только с начала и конца строки 4. какой тип инструкции мне нужно написать, чтобы получить оба события в календаре, не создавая отдельную форму для каждого доступного периода времени. В школьный день 11 периодов.

ответ

0

Вы назначаете два разных значения для строки [3] и строки [4] в двух добавленных вами кодовых блоках.

Предполагая, что строка [3] и строка [4] как время суток (не значения даты), проблема во втором блоке кода заключается в том, что после присвоения значения строки [3] значение start_time переменной и переопределения этого значения с рядом [4].

Согласно моему пониманию по вашему требованию, я вижу, что вы хотите создать несколько событий календаря для одного и того же учителя в течение нескольких периодов. В этом случае, если время начала периодов хранится как значения в той же строке, что и строка [3], строка [4] .. сначала вы должны сначала создать событие календаря для строки [3], а затем создать другое событие календаря для row [4].

Надеюсь, что это поможет!

+0

Это моя проблема. Я не могу понять, как создать несколько событий за один клик формы. Я попытался скопировать и пропустить весь скрипт и удвоить его, надеясь, что он сначала создаст событие «А», затем событие «В», но это не сработало. Похоже, мне нужно создать вторую строку в форме google с той же меткой времени, чтобы создать второе событие. Я могу скопировать и пройти полную версию скрипта, если это облегчит просмотр моей проблемы. Опять же, я просто новичок ценю любую помощь, которую я получаю. – mcclelland22