Şimdi Ara

Javascript Kodu Yardım!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
326
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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 >







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.