obererpel
Goto Top

Wert aus Funktion, die aufgerufen wird, sobald ein Event auftritt

Für ein Projekt an der Uni bräuchte ich eine Funktion, die ausgeführt wird, sobald ein Event auftritt ("click") oder ein Timer abgelafuen ist und dann einen Wert zurückgibt.

Liebe Community,

für ein Projekt bräuchte ich ein Skript, welches nach folgendem Schema arbeitet:

function tolleFunktion(div) {
Erstelle ein Formular im übergebenen div - Funktioniert soweit

var auswertung =
Wert ergibt sich aus einer Funktion, welche ausgegeben wird, sobald der Nutzer auf den Submit-Button klickt (Allgemein: bei einem click-Event) oder sobald ein Timer abgelaufen ist (setTimeout?)

return auswertung
}

Die einfachste Möglichkeit wäre wahrscheinlich, einfach eine Funktion aufzurufen, die pollt, ob das Event aufgetreten ist/ der Timer abgelaufen ist. Aber das scheint mir sehr unhübsch.

Fällt jemandem da eine elegantere Möglichkeit ein? prompt() sollte ja ähnlich arbeiten, es ruft eine Funktion auf und gibt einen Wert zurück.
Da muss doch was gehen ;D

Content-ID: 192008

Url: https://administrator.de/forum/wert-aus-funktion-die-aufgerufen-wird-sobald-ein-event-auftritt-192008.html

Ausgedruckt am: 23.12.2024 um 02:12 Uhr

EvilMoe
EvilMoe 29.09.2012 um 11:54:27 Uhr
Goto Top
Hallo,

ich verstehe nicht genau dein Problem. Wenn du einen Wert setzen willst bei einem click-Event warum machst du es nicht auch so? Ein submit Button hat ein "onclick" Event.

Ein Timer ist doch auch nicht das Problem. Da liegst du auch mit "setTimeout" richtig.
Obererpel
Obererpel 29.09.2012 um 14:06:52 Uhr
Goto Top
Im Prinzip möchte ich, dass die tolleFunktion(div) das Formular zeichnet, auf die Nutzereingaben wartet und diese dann (als bestimmtes Objekt) zurückgibt.
Die Nutzereingabe ist beendet, sobald der Nutze den Button drückt (also ein Event auslöst) oder der Timer abläuft.
EvilMoe
EvilMoe 29.09.2012 um 16:17:15 Uhr
Goto Top
Okay, aber die Lösung hast du dir doch schon selber gegeben wie das geht.
function beenden() {
  // ich werde nach der Zeit oder beim onclick auf submit aufgerufen.
}


setTimeout("beenden()", 60*1000); //zeit in ms -> 60s  

Im HTML wo dein submit Button ist dann:
   <input type="submit" onclick="return beenden();" />