tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
371
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    12
    Ich habe hier ein Formular mit zwei Reihen, die namen sind alle gleich das hat den grund das ich diese später mit php in array einlese.
    Funktion: Ich gebe in das Feld menge die Anzahl des Produktes ein und in preis die einzelsumme und will das dann in gesamtsumme das ergebnis herauskommt.
    Das klappt beim ersten formular ohne problem, beim zweiten "Datensatz" wird das ergebnis des ersten ergebnisses im ersten feld überschrieben. Wer hat eine Idee wie ich das ergebnis jeweils in der richtigen Zeile haben. Hier auch das JavaScript und der link zum script zum selber gucken.
    http://www.devcon-productions.net/gepreis.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    function addiere(menge,preis)
    { 
            
        var summeadd= menge[0]*preis[0] ;
        var summeadd1= menge[1]*preis[1] ;
        
        document.payform.elements['gesamtpreis[0]'].value=summeadd;
        document.payform.elements['gesamtpreis[1]'].value=summeadd1;
     
                
    }
    </script>
    HTML-Code:
    <form name="payform">
    <table border="0">
    
    <tr>
        <td><input name="menge[0]" type="text" size="10" id="menge"></td>
        <!--<td><input name="leistung[]" type="text" id="leistung" size="60" ></td>-->
        <td><input name="preis[0]" type="text" id="preis" 
    	onBlur="addiere(document.forms['payform'].elements['menge[0]'].value,document.forms['payform'].elements['preis[0]'].value)"></td>
        <td><input name="gesamtpreis[0]" ></td>
    </tr>
    
    <tr>
        <td><input name="menge[1]" type="text" size="10" id="menge"></td>
        <!--<td><input name="leistung[]" type="text" id="leistung" size="60" ></td>-->
        <td><input name="preis[1]" type="text" id="preis" 
    	onBlur="addiere(document.forms['payform'].elements['menge[1]'].value,document.forms['payform'].elements['preis[1]'].value)"></td>
        <td><input name="gesamtpreis[1]" ></td>
    </tr>
    
    <table>
    </form>
     

  2. #2
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Bevor ich dir auf irgendeine Art antworte:
    Auch deine Tastatur hat eine SHIFT-Taste (sogar zwei und eine Caps-Lock Taste). Es ist unwahrscheinlich, dass sie kaputt ist, also halte dich bitte an die gültige deutsche Rechtschreibung. Du hast beim Registrieren für dieses Forum der Nettiquette zugestimmt und dich damit auch verpflichtet leserliche Beiträge zu verfassen.

    Der Fehler besteht ganz einfach darin, dass du der Funktion immer nur die Werte übergibst, die aktuell geändert wurden, aber mit der Funktion immer alle Gesamtwerte daraus berechnen. Die Funktion kennt also immer nur die aktuellen Werte, soll aber alle berechnen. Du vereinzelst das am besten- Schlauer wäre also etwas wie das:
    Code javascript:
    1
    2
    3
    4
    5
    6
    
    function addiere(intFeldID) {
        var form =  document.forms['payform'];
        form.elements['gesamtpreis['+ intFeldID +']'].value=
            form.elements['menge['+ intFeldID +']'].value * 
            form.elements['preis['+ intFeldID +']'].value;
    }
    HTML-Code:
    ... <input name="preis[1]" type="text" id="preis" onblur="addiere(1)"> ...
    Hab's aber nicht getestet, könnten noch kleine Fehler drin sein.

    Ganz nebenbei gibt es soetwas wie w3c-Standards, die u.a. besagen, dass Events klein geschrieben werden.
    Geändert von con-f-use (23.02.06 um 19:58 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


Ähnliche Themen

  1. JSF 2.0: Interaktion zwischen mehreren Java-Klassen untereinander (Werteübergabe)
    Von Fools im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 17.09.10, 12:32
  2. Abschneiden von Nullwerten in mehreren Feldern
    Von bolshi im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 10.05.08, 16:22
  3. Uploaden mit mehreren Feldern ( Fehler )
    Von Snake3333 im Forum PHP
    Antworten: 29
    Letzter Beitrag: 17.03.08, 19:19
  4. Select mit Annäherungswerten und mehreren Feldern
    Von Marco Gutenhof im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 26.03.04, 18:48
  5. Kontaktformular mit mehreren Feldern
    Von Tyral Parker im Forum PHP
    Antworten: 7
    Letzter Beitrag: 09.04.03, 23:46