Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
321
Tıklama
0
Öne Çıkarma
Javascript Kodu Yardım!
H
7 yıl
Çavuş
Konu Sahibi

Merhaba,

Online sınav ve anket tarzı bir google form hazırladım ve formun kullanıcılar için belirli zaman aralıklarında aktif olmasını istiyorum. Bunun için google forms içerisinde bir javascript penceresi var ve buraya kod yazabiliyorsunuz. Yazılımcı olmadığım için biraz araştırma yaparak aşağıdaki kodu buldum ve formda uyguladım.

İşin ilginci zamanı set ettiğim değerlerde değil de 13 saat sonrası form açılıp kapanıyor, kod aşağıdaki gibi;

FORM_OPEN_DATE   =  "2016-11-23 22:45";
FORM_CLOSE_DATE = "2016-11-23 22:46";
RESPONSE_COUNT = "100";


/* Initialize the form, setup time based triggers */
function Initialize() {

deleteTriggers_();

if ((FORM_OPEN_DATE !== "") &&
((new Date()).getTime() < parseDate_(FORM_OPEN_DATE).getTime())) {
closeForm();
ScriptApp.newTrigger("openForm")
.timeBased()
.at(parseDate_(FORM_OPEN_DATE))
.create();
}

if (FORM_CLOSE_DATE !== "") {
ScriptApp.newTrigger("closeForm")
.timeBased()
.at(parseDate_(FORM_CLOSE_DATE))
.create();
}

if (RESPONSE_COUNT !== "") {
ScriptApp.newTrigger("checkLimit")
.forForm(FormApp.getActiveForm())
.onFormSubmit()
.create();
}

}

/* Delete all existing Script Triggers */
function deleteTriggers_() {
var triggers = ScriptApp.getProjectTriggers();
for (var i in triggers) {
ScriptApp.deleteTrigger(triggers[i]);
}
}

/* Send a mail to the form owner when the form status changes */
function informUser_(subject) {
var formURL = FormApp.getActiveForm().getPublishedUrl();
MailApp.sendEmail(Session.getActiveUser().getEmail(), subject, formURL);
}

/* Allow Google Form to Accept Responses */
function openForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(true);
informUser_("Your Google Form is now accepting responses");
}

/* Close the Google Form, Stop Accepting Reponses */
function closeForm() {
var form = FormApp.getActiveForm();
form.setAcceptingResponses(false);
deleteTriggers_();
informUser_("Your Google Form is no longer accepting responses");
}

/* If Total # of Form Responses >= Limit, Close Form */
function checkLimit() {
if (FormApp.getActiveForm().getResponses().length >= RESPONSE_COUNT ) {
closeForm();
}
}

/* Parse the Date for creating Time-Based Triggers */
function parseDate_(d) {
return new Date(d.substr(0,4), d.substr(5,2)-1,
d.substr(8,2), d.substr(11,2), d.substr(14,2));
}


Zamanı aşağıdaki şekilde set ediyorum(kod satırında da görebileceğiniz gibi)

FORM_OPEN_DATE = "2016-11-23 22:45";
FORM_CLOSE_DATE = "2016-11-23 22:46" her ne kadar kodda belirttiğim tarihler bunlar olsa da form
2016-11-24 11:45 'te açılıyor ve 2016-11-24 11:46'da kapanıyor. Yani bizim kod 13 saat sonra çalışıyor

Yardım edebilecek var mı?

Teşekkürler,

İyi forumlar





< Bu mesaj bu kişi tarafından değiştirildi hidrocu -- 24 Kasım 2016; 16:16:6 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.