Problem mit JavaScript.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit JavaScript.

    Hallo Leute!

    Ich habe ein Problem mit JavaScript.

    Code:
    <script type="text/javascript">
         function auswahl(state){
             var checkboxes=document.getElementsByName('page[]');
             for(var n=0; n<checkboxes.length; n++) {checkboxes[n].checked=state;}
         }
    
         function addition(){
    
         var eur = 1.20; // Der Betrag der dazugezählt werden soll
         var summe = 0.00; // Der Anfangsbetrag
    
         for(i=0; i < document.anmeldung.elements.length; i++){
    
         if(document.anmeldung.elements[i].type == 'checkbox' && document.anmeldung.elements[i].checked != ''){
         summe = summe + Number(eur);
         }
         }
         document.anmeldung.result.value = summe.toFixed(2);
         }
    </script>
    Auf der Seite www.pr-bank.de/anmeldung.php sieht man mein Problem.
    Wenn man bei den Webkatalogen einzelne Checkboxen Wählt, dann rechnet er automatisch zusammen. Klicke ich aber auf alle auswählen, macht er nüchts... obwohl, alle checkboxen da sind.

    Kann mir jem. helfen?

    Vielen dank für die Mühe
    Beachte: Dumm ist, wer Dummes tut.

  • #2
    Versuch mal, statt onClick onChange zu benutzen.

    Mich wundert allerdings gerade, dass die Berechnung trotz onClick ausgeführt wird, wenn man die Checkboxen mit der Tastatur ändert - gilt das als Klick?
    ich glaube

    Kommentar


    • #3
      Nun ich habe das zu OnChange geändert.

      Code:
      <input onChange="addition();" type=checkbox name='page[]' id='page[]'  value='www.pr-autobahn.de'> [url]www.pr-autobahn.de[/url] </td>
      Damit mache ich die Checkboxen und rufe die addition() auf

      Bei
      Code:
      <input type="checkbox" name="checkall" value="1" onclick="auswahl(this.checked)" />Alle markieren
      markiere ich alle Checkboxen.

      Nur addiert er dann nicht alle zusammen...

      hat jem. ne ahnung wieso?
      Beachte: Dumm ist, wer Dummes tut.

      Kommentar


      • #4
        Original geschrieben von bofan
        Bei
        Code:
        <input type="checkbox" name="checkall" value="1" onclick="auswahl(this.checked)" />Alle markieren
        markiere ich alle Checkboxen.

        Nur addiert er dann nicht alle zusammen...

        hat jem. ne ahnung wieso?
        Weil du deine Funktion zum Zusammenrechnen in dem Fall gar nicht aufrufst ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          danke!

          Top!

          es klappt
          Beachte: Dumm ist, wer Dummes tut.

          Kommentar


          • #6
            Hallo!

            Zu dem oberen script.

            wenn ich auf ALLE AUSWÄHLEN klicke, rechnet er diesen harken mit.
            d.h. 10.00 EUR zu viel.

            wie kann ich das ändern?


            quelltext:

            www.pr-bank.de/anmeldung.php
            Beachte: Dumm ist, wer Dummes tut.

            Kommentar


            • #7
              PHP-Code:
              if(document.anmeldung.elements[i].type == 'checkbox' && 
              document.anmeldung.elements[i].checked != '' && 
              document.anmeldung.elements[i].name != 'checkall'){ 
              ich glaube

              Kommentar


              • #8
                OffTopic:
                Ist das wirklich so schwer, mal für 5 Cent selber nachzudenken ...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  vielen dank! Es klappt!

                  und wie könnte ich es realisieren, dass es bei einem weiteren extra harken, zu jedem harken noch 10.00 dazu kommen... ?!?
                  Beachte: Dumm ist, wer Dummes tut.

                  Kommentar


                  • #10
                    nun. folgendes.

                    wie kann ich die Anzahl der haken die angeklickt sind, feststellen?

                    damit ich dann

                    extra = (ANZAHL_DER_HAKEN * 10.00) + document.anmeldung.result.value

                    in einem extra feld mit der ID extra anzeigen kann... gedanken sind grds. richtig?
                    Beachte: Dumm ist, wer Dummes tut.

                    Kommentar


                    • #11
                      Ist das nicht genau das, was die Funktion jetzt schon macht?
                      Wenns nur darum geht, dass der Betrag einmal 1.20 und einmal 10 ist... das ist ja gerade noch herauszufinden, wie das gehen könnte?
                      ich glaube

                      Kommentar


                      • #12
                        Hab es mal so versucht:

                        Code:
                             function addition()
                             {
                        
                             if(document.anmeldung.elements[i].name == 'extra')
                             {
                               var eur = 20.00; // Der Betrag (pro Webkatalog) der dazugezählt werden soll, wenn extra gewählt ist.
                             }
                             else
                             {
                               var eur = 10.00; // Der Betrag (pro Webkatalog) der dazugezählt werden soll, wenn extra NICHT gewählt ist.
                             }
                             var summe = 0.00; // Der Anfangsbetrag
                        
                             for(i=0; i < document.anmeldung.elements.length;i++){
                        
                             if(document.anmeldung.elements[i].type == 'checkbox' && document.anmeldung.elements[i].checked != '' && document.anmeldung.elements[i].name != 'checkall'){
                             summe = summe + Number(eur);
                             }
                             }
                             document.anmeldung.result.value = summe.toFixed(2);
                             }
                        Aber So klappt das nicht
                        Beachte: Dumm ist, wer Dummes tut.

                        Kommentar


                        • #13
                          Original geschrieben von bofan
                          Code:
                          if(document.anmeldung.elements[i].name == 'extra')
                          Und was soll i sein?

                          Was soll dieser Unfug, wenn du lediglich auf das Feld mit dem Namen extra zugreifen willst?
                          http://de.selfhtml.org/javascript/ob...tm#allgemeines
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Code:
                                 if(document.anmeldung.extra.checked != '')
                            jetzt hab ick den genommen. wenn ick das anklick, passier nüschts. nehme ich aba einen Katalog hinzu bzw. weg, dann rechnet er richtig! *toll*

                            Kann man da noch was änderen, damit sich da auch was "tut"?


                            PS: Danke für die Tipps. TOP FORUM!
                            Beachte: Dumm ist, wer Dummes tut.

                            Kommentar


                            • #15
                              Hallo es geht noch mal um die Scripts.

                              Ich hab es folgendermaßen gelöst.

                              ich habe 2 Funktionen!
                              Code:
                                   function addition_var1()
                                   {
                              
                                   var eur = 10.00; // Der Betrag (pro Webkatalog) der dazugezählt 
                              werden soll, wenn extra NICHT gewählt ist.
                                   var summe = 0.00; // Der Anfangsbetrag
                              
                                   for(i=0; i < document.anmeldung.elements.length;i++){
                              
                                   if(document.anmeldung.elements[i].type == 'checkbox' 
                              && document.anmeldung.elements[i].checked != '' 
                              && document.anmeldung.elements[i].name != 'checkall' 
                              && document.anmeldung.elements[i].name != 'extra' 
                              && document.anmeldung.elements[i].name != 'nutzung'){
                                   summe = summe + Number(eur);
                                   }
                                   }
                                   document.anmeldung.result_var1.value = summe.toFixed(2);
                                   }
                                   function addition_var2()
                                   {
                              
                                   var eur = 20.00; // Der Betrag (pro Webkatalog) der dazugezählt
                              werden soll, wenn extra NICHT gewählt ist.
                                   var summe = 0.00; // Der Anfangsbetrag
                              
                                   for(i=0; i < document.anmeldung.elements.length;i++){
                              
                                   if(document.anmeldung.elements[i].type == 'checkbox' 
                              && document.anmeldung.elements[i].checked != '' 
                              && document.anmeldung.elements[i].name != 'checkall' 
                              && document.anmeldung.elements[i].name != 'extra' 
                              && document.anmeldung.elements[i].name != 'nutzung'){
                                   summe = summe + Number(eur);
                                   }
                                   }
                                   document.anmeldung.result_var2.value = summe.toFixed(2);
                                   }
                              mit denen Rechne ich beide Preise aus.

                              Vor dem input-Feld habe ich 2 Radio Button.

                              Sofern diese angeklickt sind, geht das script nicht mehr. d.h. er updated nicht mehr die Felder...

                              Hat jem. ne Ahnung?`

                              url. www.pr-bank.de/anmeldung.php
                              Zuletzt geändert von bofan; 26.03.2007, 21:26.
                              Beachte: Dumm ist, wer Dummes tut.

                              Kommentar

                              Lädt...
                              X