10 Nummern -> 10mal Klicken!
Rico... das ultimum an Jigolo
- javascript
Hallo
Ich bin in sachen JS nicht sonderlich bewandert.. ich kann mit Forminhalten jonglieren und leichtere dinge damit machen.
Nun stehe ich vor einem problem:
Ich habe 10 Zahlen: 1,2,3,4,5,6,7,8,10 (z.B., in wirklichkeit sind die zahlen zufallszahlen mit bis zu 12 stellen)
Ich möchte nun auf onclick dass die Zahl 1 im formfeld (type="text") erscheint.... bei einem weiteren klick die zahl 2.... usw. Beim 10ten klick (der letzte also) soll die kette wieder von vorne anfangen.
Mein rpoblem ist: wie?
Ich habe an eine funktion gedacht, doch wie realisiert man dass dieser counter immer einen weiter springt... in PHP wäre mir das klar. Aber in JavaScript =/
Hilfe wäre nett...
Auch _gerne_ eine hilfe bei der als milde gabe eine codezeile vielleicht einem (mir) zugute kommt =)
ciao
hi
Mein rpoblem ist: wie?
ich würd sagen, als erstes brauchst du ein array:
http://de.selfhtml.org/javascript/objekte/array.htm
in welches du deine zehn zufalls-zahlen schreibst.
http://de.selfhtml.org/javascript/objekte/math.htm#random
(wenn du eine 12 stellige zufallszahl brauchst, einfach mit 1.000.000.000.000 multiplizieren :))
dann benötigst du eine variable die du bei jedem click einen hochzählst.
http://de.selfhtml.org/javascript/sprache/variablen.htm
als drittes mußt du, nachdem deine variable hochgezählt wurde das ganze in das entsprechende formularfeld schreiben.
http://de.selfhtml.org/javascript/objekte/elements.htm#value
Auch _gerne_ eine hilfe bei der als milde gabe eine codezeile vielleicht einem (mir) zugute kommt =)
hinter den gelieferten links stecken eine menge codezeilen ;)
so long
ole
(8-)>
Hi
Ich habe das problem, dass ich wenn ich die funktion aufrufe, ich den wert zwar erhöhen kann, er ihn sich aber nicht nachhaltig merkt.
Derzeit rufe ich (noch testweise) die Funktion auf... lasse mir den wert via alert ausgeben .. und erhööhe dann den wert um 1 gff if==9 setze ich ihn auf 0 zurück. Leider (wie gesagt) ist beim funktionsaufruf der wert wieder auf 0 weil die funktion net =/
Wie umgehe ich das?
Auch eine gute frage: Muss ich TheCounter=TheCounter+1 schreiben oder gibt es wie bei PHP eine TheCounter++ technik?
ciao
Hallo Rico,
Ich habe das problem, dass ich wenn ich die funktion aufrufe, ich den wert zwar erhöhen kann, er ihn sich aber nicht nachhaltig merkt.
Wie umgehe ich das?
Du mußt diese Variable global (außerhalb der Funktion) deklarieren.
Auch eine gute frage: Muss ich TheCounter=TheCounter+1 schreiben oder gibt es wie bei PHP eine TheCounter++ technik?
Letzteres.
Grüße
Andreas
Hallo Rico.
Wie umgehe ich das?
So (Beispiel):
<script type="text/javascript">
var x = 0;
function hochdamit() {
x++;
alert(x);
}
</script>
Du notierst die Variable außerhalb der Funktion.
Den Rest kriegst du ja hoffentlich selber hin.
Ich hoffe ich konnte helfen, H2O
hi,
Auch eine gute frage: Muss ich TheCounter=TheCounter+1 schreiben oder gibt es wie bei PHP eine TheCounter++ technik?
auf die seite mit den javascript-operatoren hatte ich dich bereits verlinkt - bitte lies sie auch.
gruß,
wahsaga
hi,
Ich habe 10 Zahlen: 1,2,3,4,5,6,7,8,10 (z.B., in wirklichkeit sind die zahlen zufallszahlen mit bis zu 12 stellen)
in einem array vermutlich? denn eine andere datenstruktur wäre ja in so einem falle kaum sinnvoll.
Ich möchte nun auf onclick dass die Zahl 1 im formfeld (type="text") erscheint.... bei einem weiteren klick die zahl 2.... usw. Beim 10ten klick (der letzte also) soll die kette wieder von vorne anfangen.
Ich habe an eine funktion gedacht, doch wie realisiert man dass dieser counter immer einen weiter springt... in PHP wäre mir das klar. Aber in JavaScript =/
wo ist das problem?
die gängigen mathematischen operatoren sollten doch bekannt sein - also einfach bei jedem aufruf im eins hochzählen.
dann musst du nur noch den "überlauf" abfangen, also wenn dein zähler größer wird, als die anzahl der im array enthaltenen elemente (bzw. deren anzahl minus 1, JS zählt ja von 0).
dazu benutzt du z.b. eine einfache if-abfrage, wo du den zähler dann wieder auf den anfang zurücksetzt. (man könnte natürlich das hochzählen auch gleich mit modulo kombinieren ;-).)
gruß,
wahsaga