Datenschutzerklärung

Warum rechnet der nicht.

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

Warum rechnet der nicht.

  Beitrag schreiben
Autor
Beitrag Seiten: 1
Daniel busch 3000
Gast



Ich hab ein Problem:

Warum rechnet das script nicht???

Code:

<form name="kontakt" method="post" action="http://www.fueralles.de/kontakt/mailer.php" OnSubmit="return check();">
             <script language="JavaScript">
             <!--
             function check() {
             if(document.kontakt.EMAIL.value=="") {
             window.alert("Bitte eine E-Mail Adresse angeben!");
             document.kontakt.EMAIL.select();
             document.kontakt.EMAIL.focus(); 
             return false;
             }
             
             zeichenketten=document.kontakt.EMAIL.value;
             reg_ex5=/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/;
             
             if(reg_ex5.test(zeichenketten))
             {
             return true;
             }
             else
             {
             alert("Bitte die E-Mail Adresse überprüfen!");
             document.kontakt.EMAIL.select();
             document.kontakt.EMAIL.focus(); 
             return false;
             } 
             }
             //-->
             </script>
             <input type="hidden" name="id" value="21059">
             <input type="hidden" name="erforderlich" value="NAME,EMAIL,NACHRICHT">
             <input type="hidden" name="fehler" value="http://www.fueralles.de/kontakt/error.htm">
             <input type="hidden" name="weiterleitung" value="http://www.fueralles.de/kontakt/danke.htm">
             <input type="hidden" name="sendsubject" value="IBS Bestellung">
             <input type="hidden" name="autoantwort" value="false">
             <table class="kf_table" border="0" cellpadding="2" cellspacing="0">
             <tr><td> </td><td>
             <b> </b>
             </td></tr>
             <tr><td align="right">
             Spielername:
             </td><td>
             <input class="kf_textfeld" type="text" name="SPIELERNAME" size="20">
             </td></tr>
             <tr><td align="right">
             ZielKords:
             </td><td>
             <input class="kf_textfeld" type="text" name="ZIELKORDS" size="20">
             </td></tr>
             <tr><td align="right" valign="top">
     
             </td></tr>
             
             <head>
             <script language="JavaScript">
             <!--
               var MAX=3;
             
               function init() {
                 preis1=document.form1.ein1.value;
                 preis2=document.form1.ein2.value;
                 preis3=document.form1.ein3.value;
               }
             
               function changed(obj) {
                 var anz;
                 var soll;
                 var diff;
                 var typ=obj.name.substring(0,3);
                 var num=obj.name.substring(3,9);
             
                 if(typ == "anz") {
                   var anz=parseInt(obj.value);
                   if(!(anz > 0)) {
                     anz=0;
                     obj.value="0";
                   }
                   document.form1["ges"+num].value=parseFloat(document.form1["ein"+num].value)*anz;
             
                 } else if(typ == "ein") {
                   alert("Finger weg !");
                   obj.value=eval("preis"+num);
             
                 } else if(typ == "ges") {
                   anz=parseInt(document.form1["anz"+num].value);
                   soll=parseFloat(document.form1["ein"+num].value)*anz;
                   diff=parseFloat(document.form1["ges"+num].value) - soll;
                   if(diff > 0.005) {
                     alert("Danke !");
                   } else if(diff < -0.005) {
                     alert("Nicht mit mir !");
                     document.form1["ges"+num].value=soll;
                   }
                 }
                 
                 var total=0;
                 for (num=1; num<=MAX; num++) {  
                   total+=parseFloat(document.form1["ges"+num].value);
                 }
                 document.form1.total.value=total;
               }
             
                      var anz=0;
                 for (num=1; num<=MAX; num++) {  
                   anz+=parseFloat(document.form1["anz"+num].value);
                 }
                 if(anz < 1) {
                   alert("es wurde nichts bestellt !");
                   status=false;
                 }
                 if(status)status=confirm("Es werden "+anz+" Warenbestellt.");
                 return status;
               }
             //-->
             </script>
             </head>
             <body onLoad="init();">
             <form name="form1" method="post" action="/cgi-bin/ub/cgi-mail"
              onSubmit="return check();"
              onReset="return confirm('wirklich rücksetzen ?');">
             <input type="hidden" name="subject" value="JavaScript Pizza-Bestellung">
             <h3>Bestellformular</h3>
                 <table border>
             <tr><th>Anzahl<th>Bezeichnung<th>Einzelpreis<th>Gesamtpreis
             <tr>
              <td><input type="text" name="anz1" size=3 value="0" onChange="changed(this);">
              <td>Kleine Kanone
              <td><input type="text" name="ein1" size=7 value="14000" onChange="changed(this);">
              <td><input type="text" name="ges1" size=7 value="0" onChange="changed(this);">
             <tr>
              <td><input type="text" name="anz2" size=3 value="0" onChange="changed(this);">
              <td>Mittlere Kanone
              <td><input type="text" name="ein2" size=7 value="28000" onChange="changed(this);">
              <td><input type="text" name="ges2" size=7 value="0" onChange="changed(this);">
             <tr>
              <td><input type="text" name="anz3" size=3 value="0" onChange="changed(this);">
              <td>Grosse Kanone
              <td><input type="text" name="ein3" size=7 value="55000" onChange="changed(this);">
              <td><input type="text" name="ges3" size=7 value="0" onChange="changed(this);">
             <tr>
              <td>
              <th>Gesamtsumme
              <td>
              <td><input type="text" name="total" size=7 onChange="changed(this);">
             </table>
           <input class="kf_button" type="submit" value="Bestellen"> <input class="kf_button" type="reset" value="Löschen" name="B1">
             </form>
             </body>
             
             </td><td>
             <a class="kf_link" target="_blank" href="http://www.fueralles.de/kostenloses-Kontaktformular.html">
             <font size="1">Kontaktformular</font></a><a class="kf_link" target="_blank" href="http://www.fueralles.de"><font size="1">-Service</font></a>
             </td></tr>
             </table>
             </form>

Das bisherige ergebnis läst sich auf http://ehg.homepage24.de anschauen


19.02.2006 19:13:10
  Zitieren
Validome
Administrator

Registriert: 04.04.2005
Beiträge: 313
Hallo,
das hier ist auf jeden Fall falsch:
document.form1["ges"+num].value
Damit greifen Sie auf ein Formular mit dem Namen "ges"+num zu, welches aber nicht existiert (schon garnicht das Attribut "value")
Ich nehme an das Sie auf ein input-Element innerhalb des Formulars zugreifen möchten?!
Das schreibt man aber formularname.elementename.value. Da der Elementename in dem Script dynamisch ermittelt wird, bietet sich das elements-Objekt an (http://www.validome.org/doc/HTML_ge/jav ... ements.htm).
Schreiben Sie also document.form1.elements["ges"+num].value.

mfg
Thomas Mell


19.02.2006 19:59:33
  Zitieren
Daniel busch 3000
Gast



Anscheinend bin ich zu blöd für das.
Sag mir bitte welches ocument.form1["ges"+num].value ich ersetzten muss


19.02.2006 20:31:29
  Zitieren
Validome
Administrator

Registriert: 04.04.2005
Beiträge: 313
Hallo,
>>Sag mir bitte welches ocument.form1["ges"+num].value ich ersetzten muss
Alle die den Aufbau document.form1[blabla].value entsprechen.

mfg
Thomas Mell


19.02.2006 22:51:07
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01