|
|
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 |
|
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 |
|
|
|
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 |
|
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 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|