Archivlink: javarea.de Forum > JavaScript > Bestellformular
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Bestellformular

Pages: [1] 2 ... nächste » ... Letzte »

geschrieben von Harley66482 am 28.06.2004 - 19:07
Hallo,

wer kann mir helfen. Habe hier ein Script für ein Bestellformular gefunden wo man 3 Artikel bestellen kann. Ich wollte es auf 6 Artikel erweitern bekomme das auch angezeigt aber er berechnet dann nichts mehr.

Bin ratlos und für jede Hilfe dankbar

Harley

geschrieben von Armin am 28.06.2004 - 19:20
Wie wäre es mit Code oder einer URL?

Armin

geschrieben von Harley66482 am 28.06.2004 - 19:32
Ging ja schnell hier ist der Script

<script language="JavaScript">
<!--
function init() {
preis1=document.form1.ein1.value;
preis2=document.form1.ein2.value;
preis3=document.form1.ein3.value;
preis4=document.form1.ein4.value;
preis5=document.form1.ein5.value;
preis6=document.form1.ein6.value;

}
function changed(obj) {
var anz;
var soll;
var diff;
var typ=obj.name.substring(0,3);
var num=obj.name.charAt(3);

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<=6; num++) {
total+=parseFloat(document.form1["ges"+num].value);
}
document.form1.total.value=total;
}

function check() {
var status=true;
var email=document.form1.mailto.value;
if(email == "") {
alert("Bitte geben Sie Ihre email-Adresse ein !");
status=false;
} else {
kk=email.indexOf("@");
if(kk <= 0 || email.indexOf(".", kk) < 0) {
alert("email-Adresse ist nicht korrekt !");
status=false;
}
}
var anz=0;
for (num=1; num<=6; 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+" Pizza bestellt.");
return status;
}
// -->
</script>
<form name="form1" method="post" action="mailto:ihre@mail.de" onSubmit="return check();" onReset="return confirm('zurücksetzen ?');">
<font class="stb">Bestellformular</font><br>
<font class="stn">Ihre email-Adresse:<br>
<input type="text" name="email" size="32"> </font>
<table border="1">
<tr>
<th><font class="stn">Anzahl</font></th>
<th><font class="stn">Bezeichnung</font></th>
<th><font class="stn">Einzelpreis</font></th>
<th><font class="stn">Gesamtpreis </font></th>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz1" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">Burger </font></td>
<td><font class="stn"><input type="text" name="ein1" size="7" value="2.30" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges1" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz2" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">Pizza </font></td>
<td><font class="stn"><input type="text" name="ein2" size="7" value="8.00" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges2" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz3" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">Coke </font></td>
<td><font class="stn"><input type="text" name="ein3" size="7" value="1.00" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges3" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz4" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">neu 1 </font></td>
<td><font class="stn"><input type="text" name="ein4" size="7" value="4.00" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges4" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz5" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">neu 2 </font></td>
<td><font class="stn"><input type="text" name="ein5" size="7" value="5.00" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges5" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>
<tr>
<td><font class="stn"><input type="text" name="anz6" size="3" value="0" onChange="changed(this);"> </font></td>
<td><font class="stn">neu 3 </font></td>
<td><font class="stn"><input type="text" name="ein6" size="7" value="6.00" onChange="changed(this);"> </font></td>
<td><font class="stn"><input type="text" name="ges6" size="7" value="0" onChange="changed(this);"> </font></td>
</tr>

<tr>
<td><font class="stn">&nbsp;</font></td>
<th><font class="stn">Gesamtsumme </font></th>
<td><font class="stn">&nbsp;</font></td>
<td><font class="stn"><input type="text" name="total" size="7" onChange="changed(this);"> </font></td>
</tr>
</table>
<font face="Times New Roman"><input type="submit" value="Bestellen"> <input type="reset" value="Rücksetzen"> </font>
</form>

geschrieben von René am 28.06.2004 - 20:55
blau ist neu oder geänderte Werte

geschrieben von Harley66482 am 29.06.2004 - 06:37
Hallo Rene,

vielen Dank werde es im laufe des Tages testen.

Wie gesagt Danke

Harley

geschrieben von Harley66482 am 29.06.2004 - 16:37
Hallo,

klappte ja wunderbar bekam schnelle Antwort. Jetzt bekomme ich leider eine Fehlermeldung und zwar

In dem Script auf dieser Seite ist ein Fehler aufgetreten.
Zeile 90
Zeichen 1
Fehler Objekt erwartet
Code 0

Bitte wer kann mir weiterhelfen.

harley


geschrieben von René am 29.06.2004 - 17:41
Zitat
 Original geschrieben von Harley66482 am 29.06.2004 - 16:37
klappte ja wunderbar bekam schnelle Antwort. Jetzt bekomme ich leider eine Fehlermeldung ...

Was hast du den an dem Code oben geändert damit er nicht mehr klappt. Ein Link zum ansehen wäre auch nicht schlecht!

geschrieben von Harley66482 am 29.06.2004 - 17:54
Hallo,

verändert wurde das Script mit den blauen Einträgen. Klappt ja soweit auch nur, das Script berechnet nichts mehr. Das Heißt Anzahl mal Summe ergibt Betrag . Mit einem Link kann ich leider nicht dienen.

Harley

geschrieben von René am 29.06.2004 - 18:29
... hast du auch die beiden blauen 6 geändert ???

geschrieben von Harley66482 am 29.06.2004 - 18:54
Hallo,

wie gesagt ich habe nichts geändert, wurde von einem im Forum geändert auch die blaue 6

Harley

geschrieben von René am 29.06.2004 - 20:10
... oben in deinem Code findest du 2 rote Textstellen!

geschrieben von Harley66482 am 29.06.2004 - 20:43
Hallo Rene,

ja sehe ich, muß leider gestehen eh und wie weiter, ist noch ganz schön Neuland für mich.

Gruß

Harley

geschrieben von René am 29.06.2004 - 20:49
mailto *ungleich* email

wenn du ein *gleich* dazwischen schreiben kannst funktioniert auch dein Script. Ich würde hier aber nicht "email" nehmen da das schon als Variable var email=document.form1.mailto.value; verwendet wird.

geschrieben von Harley66482 am 29.06.2004 - 21:20
Hallo,

stimmt Fehlermeldung ist weg., aber das Script berechnet nicht den Artikelpreis mal Stück und zeigt dann die Gesamtsumme.
Übrigens findet man das Script unter Javascript dann Formulare-Button und dann Nr. 24 Bestellformular.

Gruß Harley

geschrieben von René am 29.06.2004 - 23:24
Ich weis nicht was bei dir faul ist. Habe den Code von oben genommen und das was du im Bild siehst ist das ergebnis meiner Eingabe. Es wird doch alles ausgerechnet und angezeigt.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.