"Einfache" Toggle Funktion
Nerdy
- javascript
0 steckl0 Gunnar Bittersmann0 Struppi
Hi*
Ich hab dieses JavaScript Schnipsel das mir eigentlich, das Value eines Buttons ändern soll, aber irgentwie geht das nur genau einmal
Also im button steht schon ein Minus, bei klick wird ein Plus draus, und das wars... dan kann ich klicken so viel ich will...
<script type="text/javascript">
function auto_job() {
var button_value = document.getElementById("au_job");
if (button_value = '-') {
document.getElementById("au_job").value="+";
return
}
if (button_value = '+') {
document.getElementById("au_job").value="-";
return
}
}
</script>
Und dan würde ich auch gerne wissen ob es damit dan eigentlich Möglich wäre einen solchen Intervall:
window.setInterval("RFrame1()", '.$jwait.');
An und aus zu schalten?
Schonmal Grossen Dank!
L.g. Nerdy
Hi,
<script type="text/javascript">
function auto_job() {
var button_value = document.getElementById("au_job");
Hiermit speicherst du ein Objekt in der Variablen button_value. Ich glaube du willst aber eher document.getElementById("au_job").value
if (button_value = '-') {
Das ist eine Zuweisung. Für Vergleiche brauchst du ==
document.getElementById("au_job").value="+";
return
}
if (button_value = '+') {
Hier brauchst du auch wieder ==
document.getElementById("au_job").value="-";
return
}
}
</script>
>
> Und dan würde ich auch gerne wissen ob es damit dan eigentlich Möglich wäre einen solchen Intervall:
> `window.setInterval("RFrame1()", '.$jwait.');`{:.language-javascript}
> An und aus zu schalten?
Dazu brauchst du noch [clearInterval()](http://de.selfhtml.org/javascript/objekte/window.htm#clear_interval).
mfG,
steckl
Hi Stecki
Danke vielmals, besonders das du zu solch Später/Früher stunde noch/schon schreibst XD
Leider funktioniert der Switch auch dan nicht richtig:
<script type="text/javascript">
function auto_heal() {
var button_value = document.getElementById("au_heal").value;
if (button_value = '+') {
document.getElementById("au_heal").value="-"
setheal_start()
return
}
if (button_value = '-') {
document.getElementById("au_heal").value="+"
setheal_stop()
return
}
}
</script>
Meine Vermutung war/ist auch das ich irgentwie gar nicht wissen kann, wenn der Value nicht der ist, den ich im Html angegeben hab... im Html steht '+'
<input type="button" id="au_job" onClick="auto_job();" value="+">
:(
L.g. Nerdy
Hi,
Danke vielmals, besonders das du zu solch Später/Früher stunde noch/schon schreibst XD
Kein Problem, bei mir ist es gerade mal 11 Uhr abends. ;)
... aber du scheinst müde zu sein, du hast die Hälfte meiner Hinweise überlesen.
Du musst == für Vergleiche schreiben.
<script type="text/javascript">
function auto_heal() {
var button_value = document.getElementById("au_heal").value;
if (button_value = '+') {
document.getElementById("au_heal").value="-"
setheal_start()
return
}
if (button_value = '-') {
document.getElementById("au_heal").value="+"
setheal_stop()
return
}
}
</script>
>
> Meine Vermutung war/ist auch das ich irgentwie gar nicht wissen kann, wenn der Value nicht der ist, den ich im Html angegeben hab... im Html steht '+'
Das ist nicht so. Es sind einfach nur beide if-Bedingungen true und somit sollte value immer auf + gesetzt werden, weil das weiter unten im Code kommt.
mfG,
steckl
Hi
Kein Problem, bei mir ist es gerade mal 11 Uhr abends. ;)
... aber du scheinst müde zu sein, du hast die Hälfte meiner Hinweise überlesen.
Job war müde, wollte das umbedingt geregelt haben XD
Nja warten, oder erstmal schlafen wäre wohl besser gewesen, k.p. warum mir das als PHP erfahrener coder nicht aufgefallen ist
Danke dir vielmals!
Du musst == für Vergleiche schreiben.
<script type="text/javascript">
function auto_heal() {
var button_value = document.getElementById("au_heal").value;
if (button_value = '+') {
document.getElementById("au_heal").value="-"
setheal_start()
return
}
if (button_value = '-') {
document.getElementById("au_heal").value="+"
setheal_stop()
return
}
}
</script>
> >
> > Meine Vermutung war/ist auch das ich irgentwie gar nicht wissen kann, wenn der Value nicht der ist, den ich im Html angegeben hab... im Html steht '+'
>
> Das ist nicht so. Es sind einfach nur beide if-Bedingungen true und somit sollte value immer auf + gesetzt werden, weil das weiter unten im Code kommt.
Danke!
L.g. Nerdy
@@Nerdy:
nuqneH
aber irgentwie geht das nur genau einmal
Das sollte mich wundern, dass es überhaupt ginge.
var button_value = document.getElementById("au_job");
button_value
ist also eine Referenz auf das Elementobjekt …
if (button_value = '-') {
… welches weder mit "+" noch mit "-" übereinstimmt.
document.getElementById("au_job").value="+";
Und warum rufst du hier nochmals document.getElementById("au_job")
auf, wo du die Referenz doch schon hast?
Qapla'
if (button_value = '-') {
… welches weder mit "+" noch mit "-" übereinstimmt.
Was hier auch nicht Relevant wäre, da die Variabel einfach mit der Zeichenkette '-' überschrieben wird.
Struppi.
@@Struppi:
nuqneH
if (button_value = '-') {
… welches weder mit "+" noch mit "-" übereinstimmt.
Was hier auch nicht Relevant wäre, da die Variabel einfach mit der Zeichenkette '-' überschrieben wird.
Argl, das kommt davon, wenn man nur mit einem Auge hinsieht.
Dann ergibt button_value = '-'
natürlich immer true, document.getElementById("au_job").value="+";
wird ausgeführt und die Funktion per return
verlassen.
@Nerdy: http://de.selfhtml.org/javascript/sprache/operatoren.htm#vergleich@title=Vergleichsoperatoren
Qapla'
@Nerdy: http://de.selfhtml.org/javascript/sprache/operatoren.htm#vergleich@title=Vergleichsoperatoren
Steckl hat ihm das schon gesteckt, aber ich hab es in dem Post auch nicht gesehen.
Struppi.
@@Struppi:
nuqneH
Steckl hat ihm das schon gesteckt
Gestecklt? ;-)
Und was haben wir denn bei der Verlinkung falsch gemacht?
aber ich hab es in dem Post auch nicht gesehen.
Weil er es gut verstecklt hat.
Es bietet sich in den allermeisten Fällen eine Leerzeile zwischen Zitat und einem Geschriebsel an.
Qapla'
Hi,
Es bietet sich in den allermeisten Fällen eine Leerzeile zwischen Zitat und einem Geschriebsel an.
Stimmt, es ist echt relativ schwer zu sehen. Ich werds mir fuer das naechste mal merken.
mfG,
steckl