Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Geri Sayım Aracı

Konu, 'Javascript' kısmında tekstilci tarafından paylaşıldı.

  1. tekstilci

    tekstilci Üye

    Kayıt:
    23 Nisan 2007
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Arkadaşlar, asp-mysql olarak bir quiz uygulaması yapıyorum. Şöyle bir scripte ihtiyacım var: Örneğin quiz 20 soruluk ve süreyi 20 dk. olarak belirledim. Kullanıcı, isterse (süre bitmeden önce tabiki) gönder butonuna basarak cevaplarını gönderebilir; ama 20 dakikalık süre bitince, sistem sınavı otomatik olarak bitirip submt yapmalı ve cevapları post etmeli. Bu şekilde bir script var mı bildiğiniz?
     
  2. nafiz

    nafiz Üye

    Kayıt:
    28 Temmuz 2011
    Mesajlar:
    85
    Beğenilen Mesajlar:
    0
    Şehir:
    Antalya
    <input id="d2" type="text" style="border:0;width:20px;" />


    <script>
    var sure = 10;
    var milisec = 0;
    var seconds = 0;
    function display() {
    if (milisec >= 10) {
    milisec = 0;
    seconds += 1;
    }
    else
    milisec += 1;
    document.getElementById("d2").value = sure - milisec;
    if (milisec == sure) location.href = '/link';
    else setTimeout("display()", 1000);
    }
    display();
    </script>


    bu script 10 saniye sayıyor sonra istedigin sayfaya yönlendiriyor kendine göre degiştirebilirsin. Umarım iişini görür
     
  3. ersink

    ersink Daimi Üye

    Kayıt:
    26 Temmuz 2010
    Mesajlar:
    906
    Beğenilen Mesajlar:
    5
    Meslek:
    Med Student
    Şehir:
    Ankara
    Sadece Javascript'e bırakmayın bence bu işi. Server tarafında da kontrol yapmalısınız.
     
  4. tekstilci

    tekstilci Üye

    Kayıt:
    23 Nisan 2007
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    teşekkür kodlar için. zaten formun derlenmesi server tarafında olacak. önemli olan, süre kullanıcı quizi belirlenen sürede bitiremezse süre bitiminde otomatik olarak formun gönderilmesi. bu bir quiz uygulaması olacağı için ekranda dakika saniye şeklinde görünmesi ve süre bitiminde formu göndermesi lazım yani ekranda da görünmesi gerekiyor. bunu nasıl yapacağız?
     
  5. Özkan Turan

    Özkan Turan Üye

    Kayıt:
    23 Haziran 2012
    Mesajlar:
    51
    Beğenilen Mesajlar:
    0
    Şehir:
    İzmit
    Yönlendirme haricinde formu submit edecek yöntem var mı bildiğiniz?
     
  6. theben

    theben Üye

    Kayıt:
    14 Mart 2011
    Mesajlar:
    81
    Beğenilen Mesajlar:
    0
    Meslek:
    piheşpi devolopır
    Şehir:
    Istanbul
    $("form").submit();

    sanırım tek başına bu iş görür bunu şu şekilde zamanlama fonksiyonuyla kullanabilirsiniz.

    setTimeout(function(){
    $("form").submit();
    },10000);

    bu 10 sn de bu fonksiyonu tekrarlar siz farklı bir sayfaya gidiyorsanız sorun yok fakat aynı sayfada kalıyorsanız birde durdurucu fonksiyon yazmanız gerekir kolay gelsin.
     
  7. tekstilci

    tekstilci Üye

    Kayıt:
    23 Nisan 2007
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    teşekkürler arkadaşlar. aşağıdaki şekilde yaparak sorunu çözdüm. bu sayede süre dak. sn olarak görünüyor, submit edilmesi çalışıyor ve süre gösterimi sabit olarak en üstte duruyor. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <style type="text/css">
    body{font-family:arial,verdana,helvetica,sans-serif; font-weight:normal;font-size:10pt;}
    div.ustKisim
    {margin:0; padding:0;
    position:fixed; background: red; color: white; height:50px; width:100%; top:0px; left:0; display:block; text-align:right; vertical-align:middle;
    }
    div.icerik { margin:60px 0 0 0; }


    </style>
    <!-- COUNTDOWN TIMER -->




    <!-- This goes in the HEAD of the html file -->




    <script language="JavaScript" type="text/javascript">
    <!-- Copyright 2006, Sandeep Gangadharan -->
    <!-- For more free scripts go to http://www.sivamdesign.com/scripts/ -->




    <!--
    var sec = 1; // set the seconds
    var min = 110; // set the minutes




    function countDown() {
    sec--;
    if (sec == -01) {
    sec = 59;
    min = min - 1; }
    else {
    min = min; }




    if (sec<=9) { sec = "0" + sec; }




    time ="<br><b>Kalan Süreniz : </b>" + (min<=9 ? "0" + min : min) + " Dakika " + sec + " Saniye " + " &nbsp;&nbsp;&nbsp;";




    if (document.getElementById) { document.getElementById('theTime').innerHTML = time; }




    SD=window.setTimeout("countDown();", 1000);
    if (min == '00' && sec == '00') document.form1.submit();
    //{ sec = "00"; window.clearTimeout(SD); }
    }
    window.onload = countDown;
    // -->
    </script>
    </head>
    <body>
    <div class="ustKisim" id="theTime"></div> <div class="icerik">
    <!--bu bölüm form bölümü, deneme sınavı buraya konacak-->
    <form method="post" name="form1" action="action.asp">
    <input type=text name=a size=20> <input type=submit value=Gönder>
    </form>


    <!--Deneme sınavı form bölümü sonu-->
    </body> </html>
     
  8. cgelis

    cgelis Aktif Üye

    Kayıt:
    28 Aralık 2011
    Mesajlar:
    424
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Mühendisi
    Şehir:
    İstanbul
    Bu kontrolleri sunucu tarafında yapıp javascript ile sadece görsel birşeyler oluşturmanız daha güvenli olacaktır. Mesela ben sizin hazırladığınız quizde browserımda javascripti kapatarak bir soru üzerinde günlerce düşünebilirim :)
     
  9. tekstilci

    tekstilci Üye

    Kayıt:
    23 Nisan 2007
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Doğru;ama bu şuna benzer: Dersaneye gidersiniz, o kadar zaman ve zahmet sarf edersiniz;ama deneme sınavında, başınızda gözetmen çok durmuyor diye kopya çekersiniz. Peki gerçek sınavda ne yapacaksınız? Böyle bir şey yapan, kendini kandırır. Yalnız yine de öğrenmek için sormak istiyorum izninizle, sunucu tarafında çalışması ve geri sayım aracının durdurulamaması için, <script language="JavaScript" type="text/javascript"> şeklindeki başlığı, <script language="JavaScript" type="text/javascript" runat="server"> şeklinde düzenlemek yeterli olur mu?
     
  10. cgelis

    cgelis Aktif Üye

    Kayıt:
    28 Aralık 2011
    Mesajlar:
    424
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Mühendisi
    Şehir:
    İstanbul


    Elbetteki öyle! Ancak yazılım tarafına baktığımız zaman güvenilir bir yazılım olmuyor demek istemiştim :)
    Koda gelirsek, runat daha farklı bir konu. Eğer ki HERHANGİBİR elemanı runat ile işaretlerseniz oraya sunucu tarafında kaynak kodunuzda erişim sağlayabilirsiniz. Sanırım ASP.NET'te kullanılıyor. Söylediğim gibi JavaScript'i sadece görsellik ve kullanıcı kolaylğı için kullanın, eğer ki birşeyi javascript ile kontrol ediyorsanız aynı kontrolüde sunucuda da yapmanız şart. Süre dolmuş mu diye birde ek olarak sunucuda kontrol yapacaksınız kısacası.