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

Pages: [1]

geschrieben von maurop am 05.02.2007 - 01:28
Hallo zusammen

Ich bin fast am verzweifeln

Ich bin dran, ein Formular mit Berechnung fertig zu stellen, hab fast alles was ich brache, habe mir auch eine Vorlage geholt..jedoch klappt es ab der 3 Zeile nicht mit dem Gesamttotal.

Das heisst, die Positionen werden ausgerechnet, aber beim Gesamtbetrag nicht berücksichtigt. Zusätzlich muss ich die Versandspesen einbeziehen im Gesamtbetrag....

Kann mir jemand helfen? siehe den Fehler leider nicht

Im Anhang die beiden Quelltexte im .txt


Vieelen Dank für eure Hilfe

geschrieben von René am 05.02.2007 - 09:51
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
<html>
<head>

<script type="text/javascript">
<!--
function changed(obj)
{
	var anz, soll, einzel;

	var tot = 0;
	var typ = obj.name.substr(0, 3);
	var num = obj.name.substr(3, obj.name.length - 3);

	anz = parseInt(obj.value);

	if (!(anz > 0))
	{
		anz = 0;
		obj.value = 0;
	}

	einzel = parseFloat(document.form1.elements['ein' + num].value) * anz;

	document.form1.elements['ges' + num].value = einzel.toFixed(2);

	for (var x = 1; x <= 6; x++)
		tot += parseFloat(document.form1.elements['ges' + x].value);

	if (tot > 0)
		tot += parseFloat(document.form1.elements['versand'].value);

	document.form1.total.value = tot.toFixed(2);
}

function check()
{
	var anz    = 0;
	var status = true;
	var email  = document.form1.email.value;

	if (email == '')
	{
		alert('Bitte geben Sie Ihre E-Mailadresse ein !');
		status = false;
	}
	else
	{
		kk = email.indexOf('@');

		if (kk <= 0 || email.indexOf('.', kk) < 0)
		{
			alert('E-Mailadresse ist nicht korrekt !');
			status = false;
		}
	}


	for (var x = 1; x <= 6; x++)
		anz += parseFloat(document.form1.elements['anz' + x].value);

	if (anz < 1)
	{
		alert('Es wurde nichts bestellt !');
		status = false;
	}

	if (status)
		alert('Es werden ' + anz + ' Pizza bestellt.');

	return status;
}
//-->
</script>

</head>
<body>

<form name="form1" action="mailto:ihre@mail.de" onsubmit="return check();" onreset="return confirm('zur&uuml;cksetzen ?');" method="post" enctype="text/plain">
	<h3>Bestellformular</h3>

	Ihre E-Mail: <input name="email" type="text" size="25" value="" /><br /><br />

	<table border="1" cellspacing="1" cellpadding="2">
		<tr>
			<td>Anzahl</td>
			<td>Bezeichnung</td>
			<td>Einzelpreis</td>
			<td>Gesamt</td>
		</tr>
		<tr>
			<td><input name="anz1" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>Burger:</td>
			<td><input name="ein1" type="text" size="7" value="2.30" readonly="readonly" /></td>
			<td><input name="ges1" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td><input name="anz2" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>Pizza:</td>
			<td><input name="ein2" type="text" size="7" value="8.00" readonly="readonly" /></td>
			<td><input name="ges2" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td><input name="anz3" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>Coke:</td>
			<td><input name="ein3" type="text" size="7" value="1.00" readonly="readonly" /></td>
			<td><input name="ges3" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td><input name="anz4" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>neu 1:</td>
			<td><input name="ein4" type="text" size="7" value="4.00" readonly="readonly" /></td>
			<td><input name="ges4" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td><input name="anz5" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>neu 2:</td>
			<td><input name="ein5" type="text" size="7" value="5.00" readonly="readonly" /></td>
			<td><input name="ges5" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td><input name="anz6" type="text" size="3" value="0" onchange="changed(this);" /></td>
			<td>neu 3:</td>
			<td><input name="ein6" type="text" size="7" value="6.00" readonly="readonly" /></td>
			<td><input name="ges6" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td align="right" colspan="3">Versandkostenanteil:</td>
			<td><input name="versand" type="text" size="7" value="6.00" readonly="readonly" /></td>
		</tr>
		<tr>
			<td align="right" colspan="3">Gesamtsumme:</td>
			<td><input name="total" type="text" size="7" value="0.00" readonly="readonly" /></td>
		</tr>
	</table>

	<br />

	<input type="submit" value="bestellen" />
	<input type="reset" value="zur&uuml;cksetzen" />
</form>

</body>
</html>

geschrieben von maurop am 05.02.2007 - 11:13
Hallo Rene

Vieelen Dank, endlich funzt mein Formular wie es sollte...Danke nochmals für die Hilfe!!


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