• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Formular ????

vitus

New member
Hallo zusammen

Ich habe ein Problem mit einem Formular, dass ich einfach nicht hinkriege.
Ich habe ein Formular mit 2 Artikeln zum bestellen, nun möchte ich, dass beim Drücken des "bestellen" buttons

1. das Formular überprüft wird, ob alle Angaben gemacht wurden
2. wenn alles ausgefüllt wurde, dass die Summe des bestellten Betrags in einer Alert Box erscheint und
3. dann mit dem Betätigen des o.k. Buttons die Daten abgeschickt werden und eine Bestätigungsseite erscheint (Danke.htm)

Ich wäre sehr sehr dankbar, wenn mir jemand dabei helfen kann!!!!

Schöne Pfingsten vitus
 
Was ich bis jetzt habe ist folgendes: (funzt, aber nicht ganz so wie ich es möchte)

<SCRIPT LANGUAGE="JavaScript">
<!--
function validate_form() {
validity = true; // assume valid
if (!check_empty(document.form.NAME.value))
{ validity = false; alert('Name fehlt!'); }
if (!check_empty(document.form.VORNAME.value))
{ validity = false; alert('Vorname fehlt!'); }
if (!check_empty(document.form.ADRESSE.value))
{ validity = false; alert('Adresse fehlt!'); }
if (!check_empty(document.form.PLZ.value))
{ validity = false; alert('PLZ fehlt!'); }
if (!check_empty(document.form.ORT.value))
{ validity = false; alert('Ort fehlt!'); }
if (!check_email(document.form.EMAIL.value))
{ validity = false; alert('eMail fehlt !'); }
if (!check_empty(document.form.DESCRIPTION.value))
{ validity = false; alert('Beschreibung ist leer'); }
if (validity)
alert ("Alle benötigten Informationen wurden geprüft. "
+ "Die eingaben wurden als richtig erkannt "
+ "Mail Delivery Sub-System.");
return validity;
}

function check_empty(text) {
return (text.length > 0); // gibt false zurück wenn leehr
}

function check_email(address) {
if ((address == "")
|| (address.indexOf ('@') == -1)
|| (address.indexOf ('.') == -1))
return false;
return true;
}

function check_url(address) {
if ((address == "")
|| (address.indexOf ('http://') == -1)
|| (address.indexOf ('.') == -1))
return false;
return true;
}
// -->
</script>


<form name="form" method="post"
action="mailto:email@Adresse.ch?SUBJECT=Bestellung" enctype="text/plain"
onSubmit="return validate_form()">


<body bgcolor="#000000">
<p align="center"><img border="0" src="images/Titel1.gif" width="742" height="78">
<p><font color="#F49300">         <br>
   </font></p>
<div align="right">
<table border="0" cellpadding="0" cellspacing="0" width="80%">
<tr>
<td width="13%" align="left"><font color="#F49300">
Menge:</font></td>
<td width="1%" align="left">
<p align="right"></td>
<center>
<td width="86%" align="left"><font color="#F49300">
<input type="text" size=5 name="MENGE144">Artikel1 Stk.  à CHF 50.00</font></td>
</tr>
<tr>
<td width="13%" align="left"><font color="#F49300">
Menge:</font></td>
</center>
<td width="1%" align="left">
<p align="right"></td>
<center>
<td width="86%" align="left"><font color="#F49300">
<input type="text" size=5 name="MENGE1000">Artikel2 Stk à CHF 250.00</font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"></td>
<td width="86%" align="left"> 
<p> </td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"></td>
<td width="86%" align="left"><b><font color="#FF0000" size="5">Rechnungs-
und Lieferadresse</font></b></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Name:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=50 name="NAME"></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Vorname:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=50 name="VORNAME"></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Adresse:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=50 name="ADRESSE"></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">PLZ:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=10 name="PLZ"></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Ort:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=39 name="ORT"></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Land:</font></td>
<td width="86%" align="left"><font color="#F49300"><select>
<option value="1" >Schweiz
</select></font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Email:</font></td>
<td width="86%" align="left"><font color="#F49300"><input type="text" size=50 name="EMAIL">

</font></td>
</tr>
<tr>
<td width="14%" colspan="2" align="left"><font color="#F49300">Zahlungsart:</font></td>
<td width="86%" align="left"><select name="Zahlart" size="1" >

<option value="1" >Text1
<option value="2" >Text2
<option value="3" >Text3
</select>
</td>
</tr>
</table>
</center>
</div>
<p align="center">
<input type="submit" name="submit" value="Senden"><input type="reset" value="Reset"></p>
 
also erstmal:

document.form.DESCRIPTION.value

du hast kein feld mit beschreibung

nimm solange das:

document.form.Zahlart.value
 
Danke xxoes

Also, den Teil habe ich vergessen zu löschen, hatte nämlich zuerst ein "Mitteilungen" Feld, aber das brauche ich nicht.

Vielen Dank übrigens für Deine prompten Antworten !!

vitus
 
wie wärs damit?
Sind zwar Pizzas, aber besser als nichts ist schon:D
Der Betrag wird überprüft, falls es zuwenig sind, alert. Zuviel wird dankend angenommen
Ist es das, was du suchst?
 
soory, habs vergessen, einzufügen




<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;
}

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<=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+" Pizza bestellt.");
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>
Ihre email-Adresse:<br> <input type=text name="mailto" size=32>
<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>Pizza Margherita
<td><input type="text" name="ein1" size=7 value="7.50" 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>Pizza 4 Stagione
<td><input type="text" name="ein2" size=7 value="9.50" 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>Pizza Fantasia
<td><input type="text" name="ein3" size=7 value="11.00" 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 type="submit" value="Bestellen">
<input type="reset" value="Rücksetzen">
</form>
</body>
 
Hallo Hilfe

Ja, das ist schon mal sehr hilfreich, Versuchs mal auf mein Angebot abzuändern.
vielen Dank
 
wie kriege ich nun das so hin, dass mir nicht die Anzahl, sondern der Gesamtbetrag in der Alert Box erscheint??
 
Zurück
Oben