Ankündigung

Einklappen
Keine Ankündigung bisher.

Berechnung mit Radiobuttons

Einklappen

Neue Werbung 2019

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

  • Berechnung mit Radiobuttons

    Hi allezusammen,

    ich bräuchte eine kleine Hilfestellung. Unten ist der PHP Code für ein kleines Tool welches den Preis für ein Produkt ausrechnet, je nachdem welche Extras der Kunde wünscht.
    Im mom ist es so dass der Kunde alles Anklickt, dann auf Berechnen klickt und den Preis angezeigt bekommt. Wünschenswert wäre es wenn der "Berechnen" Button wegfallen könnte. Sprich mit jedem Klick auf ein Radio Button soll der Preis aktualisiert werden.

    Wäre echt prima wenn ihr mir weiterhelfen könntet.

    Code:
    <tr>
      <td class="inlayc">
      <input type=radio name=Daten1[] value=1>
      <input type=radio name=Daten1[] value=2></td><td class="inlay1">
      </td>
    </tr>
    <tr>
      <td class="inlayc">
      <input type=radio name=Daten2[] value=1>
      <input type=radio name=Daten2[] value=2></td><td class="inlay1">
      </td>
    </tr>
    ...
    ...
    ...
    </td>
      <td class="inlay1">
      <input type=submit class='input_k' name='ber' value='Berechnen'>
      </td>
    </tr>
    PHP-Code:
    <?php
    if (isset($_POST['ber']))
    {
    foreach (
    $_POST['Daten1'] as $Preis1);
    foreach (
    $_POST['Daten2'] as $Preis2);
                      
      if (
    $Preis1 == 2)
      {
    $Betrag += 50;}
      if (
    $Preis2 == 2)
      {
    $Betrag += 50;}
      ...
      ...
      ...
    echo 
    $Betrag;
    }
    ?>


  • #2
    das kannst du, überhaupt nur mit einem javascript machen, das dann den submit ausführt, genauen code kann ich dir aber jetz auf anhieb auch nicht sagen,.. ich schau mal, ob ich was finde
    edit:
    einen onclick-handler einbauen:
    Code:
    <tr> 
      <td class="inlayc"> 
      <input type=radio name=Daten2[] value=1  onClick="document.forms[0].submit();">   
      <input type=radio name=Daten2[] value=2  onClick="document.forms[0].submit();"></td><td class="inlay1"> 
      </td> 
    </tr>
    wobei ich dann das ganze wohl gleich in javascript und nicht in php-programmieren würde, wenn ichs ergebnis gleich haben will

    Kommentar


    • #3
      Naja, ich kann kein JS proggen, bin aber nicht abgeneigt es zu lernen, da man es doch öffters als erwartet benötigt.

      Da ich nicht davon ausgehe dass du mir das Script programmierst wäre ich dir sehr dankbar wenn du eine gescheite Seite an der Hand hast die nicht nur Scripte anbietet, sondern erklärt wie man sie selbst programmiert.

      Kommentar


      • #4
        is wirklich popeleinfach
        im header am besten eine funktion definieren

        und dann statt dem submit im onclick ausführen, der code ist FAST der gleiche, wie im php...

        http://de.selfhtml.org/ is immer ne gute anlaufstelle

        Kommentar


        • #5
          Also ganz so Popeleinfach ist es nicht, zumindest nicht für mich.

          Ich habe meine Funktion

          PHP-Code:
          function Kosten() 
          {
          var 
          Ergebnis document.Formular.Eingabe.value document.Formular.Eingabe1.value;
          alert("Kosten" Ergebnis);

          Und meine Buttons:

          Code:
          <form name="Formular" action="">
          <input type="radio" name="Eingabe" value="50" size="3">
          <input type="radio" name="Eingabe1" value="100" size="3">
          <input type="button" value="Kosten errechnen" onClick="Kosten()">
          </form>
          1. Problem: Es ist wurst egal ob der Radiobutton angeklickt ist oder nicht
          2. Problem: Das Ergebnis ist nicht die Summe der beiden Buttons, sondern eine zusammenfügung (50+100 ergibt dort also 50100).
          3. Problem: Eigentlich soll ja nur ein Radiobutton angeklickt werden können. Wenn ich aber beide gleich benenne geht nichts mehr.

          Kommentar


          • #6
            problem 2:

            Code:
            function Kosten()  
            { 
            var Ergebnis = int(document.Formular.Eingabe.value) + document.Formular.Eingabe1.value; 
            alert("Kosten" + Ergebnis); 
            }
            bin jetz nicht sicher obs die funktion int() so gibt

            problem 3:
            Code:
            <input type="checkbox" name="Eingabe" value="50" size="3"> 50 
            <input type="checkbox" name="Eingabe" value="100" size="3"> 100
            problem 1 versteh ich nicht ganz. willst wieder beim draufklicken haben oder? dazu kannst ja dann wieder onclick machen wie vorher

            Kommentar


            • #7
              Zu 1: Es ist egal ob ich mein Häckchen setzte oder nicht (ob radio oder checkbox) wenn ich auf Berechnen klicke kommt immer die ausgabe: 50100

              Zu 2: Das mit dem int() hab ich schon versucht, da tut sich dann nix mehr bei Klicken

              Zu 3: Wie schon gesagt, sobald die Dinger den gleichen Namen haben geht nix mehr (ob radio oder checkbox)...

              Kommentar


              • #8
                also ich denke mal, daß du sowas in der art wolltest:

                Code:
                <head>
                <script language="javascript">
                function Kosten()  
                { 
                
                for (var i=0;i<document.Formular.length;i++) 
                if (document.Formular.elements[i].checked==true) document.Formular.ergebnis.value = 1*document.Formular.preis.value + 1*document.Formular.elements[i].value; 
                } 
                </script>
                	
                </head>
                <body>	
                <form name="Formular" action=""> 
                Preis: <input type="text" name="preis" value="200">
                
                Zustatzkosten:
                
                <input type="radio" name="Eingabe" value="50" onclick="Kosten()" size="3"> 50
                
                <input type="radio" name="Eingabe" value="100" onclick="Kosten()" size="3"> 100
                
                Ergebnis:<input type="text" name="ergebnis">
                
                </form>
                
                </body>
                eben grad auf funktion überprüft

                Kommentar


                • #9
                  Ey du bist klasse... Vielen Dank

                  Edit: Aber en Toturial wäre nicht schlecht. Also ich kann html, php und en bissl flash, aber bei SelfHtml (JS- Bereich) blick ich nicht durch... So en Schritt für schitt Lehrgang (wie es für php einige gibt) sind schon sehr hilfreich. Kennst du was in der Art??

                  Kommentar


                  • #10
                    ne, kann auch ned mehr als google bemühen

                    Kommentar


                    • #11
                      Ein besseres/umfangreicheres/simpleres Tut für JS als das bei SelfHTML wirst du im deutschsprachigen Internet wohl kaum finden. Muss man halt von Anfang an durchackern.

                      Ansonsten: entsprechende Literatur besorgen, lesen, ausprobieren und verstehen.

                      Gut's Nächtle,
                      Axel
                      ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

                      Kommentar

                      Lädt...
                      X