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-Key: 192008

Url: https://administrator.de/contentid/192008

Printed on: April 20, 2024 at 03:04 o'clock

Member: EvilMoe
EvilMoe Sep 29, 2012 at 09:54:27 (UTC)
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.
Member: Obererpel
Obererpel Sep 29, 2012 at 12:06:52 (UTC)
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.
Member: EvilMoe
EvilMoe Sep 29, 2012 at 14:17:15 (UTC)
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();" />