Nerdy: "Einfache" Toggle Funktion

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

  1. 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
    
    1. 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="+">

      • wird zu -, aber nicht mehr zurück

      :(
      L.g. Nerdy

      1. 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
        
        1. 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
          
  2. @@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'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. 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.

      1. @@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'

        --
        Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
        1. @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.

          1. @@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'

            --
            Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            1. 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