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

Formularprüfung mittels Javasccript

hupfeld

New member
Hallo,

folgendes Problem:

Mit dem nachfolgenden Script, einer Kompination von ASP und Javascript
möchte ich die Eingaben in einem Formular beim Absenden überprüfen. In dem
Formular können Vereine ein von Firmen angeschaftes Auto reservieren. So
soll überprüft werden, ob ein Datum bereits gebucht oder ein Datum außerhalb
einer Buchungsfrist von 30 Tagen liegt. Hierzu die Variablen datum, datum2,
datum3, die teilweise aus einer Datenbank(SQL) mittels ASP bestimmt werden.
Nun gut. Mit Internet-Explorer OK mit Netscape immer die Meldung dass das
gewählte Datum nicht in der Zeichenkette Var Datum3 enthalten ist. wo könnte
der Fehler liegen. Entnehme ich diesen Teil der Überprüfung findet keine
Formularprüfungstatt. Was mache ich nur schon wieder falsch?

<script language="JavaScript">
<!--
function chkFormular()
{
var datum="<%=arrdatum%>"
var datum2=document.Formular.tag.value + "." +
document.Formular.monat.value + "." + document.Formular.jahr.value
var datum3 ="<%=arrdatum2%>"
if(datum.indexOf(datum2) != -1)
{
alert("Datum bereits belegt!");
document.Formular.tag.focus();
return false;
}
if(datum3.indexOf(datum2) == -1)
{
alert("<%="Das Reservierungsdatum muß innerhalb von " & date() & " bis
" & date()+30 &" liegen, da eine Reservierung nur 30 Tage im Voraus möglich
ist, und auch Zeitreisen noch nicht machbar sind !"%>");
document.Formular.tag.focus();
return false;
}
if(document.Formular.fuer.value == "")
{
alert("Bitte Ihren Verein oder Ihre Firma eingeben!");
document.Formular.fuer.focus();
return false;
}
if(document.Formular.tag.value == "")
{
alert("Bitte den Tag eingeben!");
document.Formular.tag.focus();
return false;
}
if(document.Formular.monat.value == "")
{
alert("Bitte den Monat eingeben!");
document.Formular.monat.focus();
return false;
}
if(document.Formular.jahr.value == "")
{
alert("Bitte das Jahr eingeben!");
document.Formular.jahr.focus();
return false;
}
if(document.Formular.grund.value == "")
{
alert("Bitte den Grund für die Nutzung eingeben!");
document.Formular.grund.focus();
return false;
}
if(document.Formular.ansprech.value == "")
{
alert("Wir benötigen einen Ansprechpartner für eventuelle
Rückfragen!");
document.Formular.ansprech.focus();
return false;
}
if(document.Formular.ansprechtel.value == "")
{
alert("Wir benötigen die Telefonnummer eines Ansprechpartners für
eventuelle Rückfragen!");
document.Formular.ansprechtel.focus();
return false;
}
if(document.Formular.email.value == "")
{
alert("Bitte Ihre E-Mail-Adresse eingeben!");
document.Formular.email.focus();
return false;
}
if(document.Formular.email.value.indexOf('@') == -1)
{
alert("Dies ist keine gültige E-Mail-Adresse!");
document.Formular.email.focus();
return false;
}
if(document.Formular.email.value.indexOf('.') == -1)
{
alert("Dies ist keine gültige E-Mail-Adresse!");
document.Formular.email.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.Formular.tag.value.length;++i)
if(document.Formular.tag.value.charAt(i) < "0"
|| document.Formular.tag.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("Tagesangabe keine Zahl!");
document.Formular.tag.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.Formular.monat.value.length;++i)
if(document.Formular.monat.value.charAt(i) < "0"
|| document.Formular.monat.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("Monatsangabe keine Zahl!");
document.Formular.monat.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.Formular.jahr.value.length;++i)
if(document.Formular.jahr.value.charAt(i) < "0"
|| document.Formular.jahr.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("Jahresangabe keine Zahl!");
document.Formular.jahr.focus();
return false;
}
if(document.Formular.D1.value.indexOf('Ja') == -1)
{
alert("Sie müssen die Vergaberichtlinien anerkennen!");
document.Formular.D1.focus();
return false;
}
if(confirm("Wollen Sie die Reservierung für den " + datum2 + "
absenden?"))
return true;
else
return false;
}
file://-->
</script>

Im formular: onSubmit="return chkFormular()"

Bin für jede Hilfe dankbar!
 
Hallo Hupfeld,

das Problem liegt bei den <%= - Klammern.

Du kannst das lösen, indem Du die Datumswerte
in versteckte Felder im Reservierungs-Formular wie

<type="hidden" Name="Datum1" value="<%= DeinASPDatum %>">
....

....

einliest und dann mit dem Javascript wie von Dir dar-
gestellt, ausliest.

Gruss Sepp
 
Noch was,

die zweite Möglichkeit besteht darin,
jeweils vor den ASP-Klammern mit </Script>
wieder von JavaScript auf VBScript umzuschalten.

Gemischt solltest Du jedenfalls nicht beide Scriptsprachen
benutzen.

Gruss Sepp
 
Zurück
Oben