Antworten auf deine Fragen:
Neues Thema erstellen

[JS] Formular für bestimmte Zeit deaktivieren

Hansi05

Aktives Mitglied

Hey,

ich hab ne Formular mit:

  • 2 Auswahllisten
  • 3 Eingabefeldern
  • 1 Checkbox
  • 1 Submit Button
Die einzelnen Elemente haben alle den Name form6, jetzt hab ich mir n Code ergooglet der alle Elemente mit diesem Namen deaktiviert:

Code:
<script language="Javascript">
  function disable() {
    var limit = document.form6[0].elements.length;
    for (i=0;i<limit;i++) {
      document.form6[0].elements[i].disabled = true;
    }
  }
</script>
Das ganze funkt auch prima, das einzige, was mir jetzt noch fehlt, ist dass das Formular nur für eine bestimmte Zeit deaktiviert ist und man es nach Ablauf dieser Zeit ganz normal verwenden kann, und die Zeit, bis das Formular verwendet werden kann muss irgendwo angezrigt werden können.

Kann mir da jemand weiterhelfen?

mfg
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: [JS] Formular für bestimmte Zeit deaktivieren

Was meinst Du mit Zeit? Von xx:xx Uhr bis xx:xx Uhr, oder x Sekunden/Minuten/Stunden nach aufruf der Seite oder, oder, ... :uhm:
 

Hansi05

Aktives Mitglied

AW: [JS] Formular für bestimmte Zeit deaktivieren

Was vllt noch fehlt: Die Funktion wird mit <body onload="disable()"> aufgerufen ...

Nach 10 Sekunden soll das Formular dann benutzbar sein, sprich die Funktion disable() soll dann außerkraft gesetzt werden ;)

Ich hab hier noch n Code womit ich das bei nem einzlnen button erreiche aber bekommdas nicht auf mein Formular umgebaut :eek:

<script type="text/javascript">
<!--
var secs = 10;
var wait = secs * 1000;
document.sform.submitbtn.disabled=true;

for(i=1;i<=secs;i++) {
window.setTimeout("update(" + i + ")", i * 1000);
}

window.setTimeout("timer()", wait);

function update(num) {
if(num == (wait/1000)) {
document.sform.submitbtn.value = "Akzeptieren";
}
else {
printnr = (wait/1000)-num;
document.sform.submitbtn.value = "Akzeptieren (" + printnr + ")";
}
}

function timer() {
document.sform.submitbtn.disabled=false;
}
//-->
</script>
 
Zuletzt bearbeitet:

cebito

undefined

AW: [JS] Formular für bestimmte Zeit deaktivieren

So z.B.:

Code:
<script language="Javascript">
  function disable() {
    var limit = document.form6[0].elements.length;
    for (i=0;i<limit;i++) {
      document.form6[0].elements[i].disabled = true;
      }
      timer=setTimeout('enable()',10000);
  }
  function enable() {
    var limit = document.form6[0].elements.length;
    for (i=0;i<limit;i++) {
      document.form6[0].elements[i].disabled = false;
    }
  }
</script>
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: [JS] Formular für bestimmte Zeit deaktivieren

... und mit Counter ein Beispiel:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
        <title>Untitled</title>
<script language="Javascript">
var pause=30;
function countdown(){
         counter=document.getElementById('ct');
         counter.innerHTML=pause+' ';
         if(pause>0){
            pause--;
            window.setTimeout("countdown()", 1000);
         }
         else{
             disable(false);
         }
}
function disable(wert){
         limit = document.form6.elements.length;
         for (i=0;i<limit;i++){
              document.form6.elements[i].disabled = wert;
         }
         if(wert==true){
            countdown();
         }
}
</script>
</head>
<body onload="disable(true)">
Das Formular ist in <span id="ct"></span> Sekunden aktiv.<br>
<form name="form6">
<input name="vorname" type="text" size="30" maxlength="30">
<input name="name" type="text" size="30" maxlength="30">
</form>
</body>
</html>
 
M

Mhelcor

Guest

AW: [JS] Formular für bestimmte Zeit deaktivieren

Kleiner Einspruch zur "Position" von
Code:
timer=setTimeout('enable()',10000);
Der Aufruf steht innerhalb der for-Schleife und würde damit "limit"-mal nach ca. 10s (+/- ein paar Nanosekunden) wiederholt werden - was keiner will/braucht.
Es genügt *ein* Aufruf von setTimeout() nachdem die Schleife durch ist und wenn die Variable "timer" sowieso nicht genutzt wird, um sie in enable() wieder sauber zu entsorgen (window.clearTimeout(timer) ), ist sie unnötig.
Code:
function disable() {
    var limit = document.form6[0].elements.length;
    for (i=0;i<limit;i++) {
        document.form6[0].elements[i].disabled = true;
    }
    window.setTimeout('enable()',10000);
}
function enable() {
 // ... wie gehabt
}
M.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.461
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben