Hallo zusammen,
Ich versuche derzeit ein Formular für meine Website zu erstellen. Dabei muss ich unbedingt sicherstellen, dass bsimmte Angaben gemacht und checkboxes bzw. Radiobuttons ausgewählt werden.
Ich verwende dafür eine Funktion eingaben_ueberpruefen() diese wird beim Klicken des submit-buttons aufgerufen. Was ich geschrieben habe funktioniert bei Eingabefeldern. Hier überprüfe ich z.B. die Länge des eingegebenen Begriffes. Um zu überprüfen, ob eine Checkbox oder ein Radiobutton angewählt ist, habe ich mir folgendes überlegt.
else if (document.Formular.agb.checked != true)
{
alert(„Bitte Formular vollständig ausfüllen!“)
return false;
}
Ich bin mir ziemlich sicher, dass das ganze so funktionieren müsste. Da es das aber nicht tut, vermute ich, dass ich irgendwo im Code einen Fehler gemacht habe, der sich erst hier auswirkt. Könntet ihr Experten euch bitte meinen Quellcode ansehen und mir sagen, wo der Fehler liegt?
Vielen Dank im Voraus.
Hier der Code: (Verzeiht, wenn ich unwichtige Zeilen poste, aber Wurm kann überall sein) Ich verwende „agb“ zum ersten mal ziemlich weit oben in $agb = ‚unchecked‘; dann als letztes im javascript und dann noch einmal fast ganz unten in
Füllen Sie dieses Formular aus um ein Inserat aufzugeben
<?php if ($_POST) {$vorname = $\_POST['vorname']; $nachname = $\_POST['nachname']; $telefon = $\_POST['telefon']; $besonderheiten = $\_POST['besonderheiten']; $email = $\_POST['email']; $url = $\_SERVER['PHP\_SELF']; $languages = $\_POST['languages']; $anschrift = $\_POST['anschrift']; $sprachen = $\_POST['sprachen']; $rechnungsname = $\_POST['rechnungsname']; $rechnungsanschrift = $\_POST['rechnungsanschrift']; $objektname = $\_POST['objektname']; $zimmer = $\_POST['zimmer']; $selected\_pool = $\_POST['pool']; $selected\_haustiere = $\_POST['haustiere']; $objektanschrift = $\_POST['objektanschrift']; $zusatzkosten = $\_POST['zusatzkosten']; $kurzbeschreibung\_dt = $\_POST['kurzbeschreibung\_dt']; $beschreibung\_dt = $\_POST['beschreibung\_dt']; $kurzbeschreibung\_pt = $\_POST['kurzbeschreibung\_pt']; $beschreibung\_pt = $\_POST['beschreibung\_pt']; $kurzbeschreibung\_en = $\_POST['kurzbeschreibung\_en']; $beschreibung\_en = $\_POST['beschreibung\_en']; $selected\_mitgliedschaft = $\_POST['mitgliedschaft']; $selected\_belegungsplan = $\_POST['belegungsplan']; $premium = $\_POST['premium']; //übergibt Wert aus $\_POST['x'] (post-methode) an Variable $x $agb = 'unchecked'; if (isset($\_POST['agb'])) { $agb = $\_POST['agb']; if ($agb == 'positiv') { $agb = 'checked'; } } if ($selected\_haustiere == 'erwünscht') { $haustiere = 'erwünscht'; } else if ($selected\_haustiere == 'nicht erwünscht') { $haustiere = 'nicht erwünscht'; } if ($selected\_pool == 'vorhanden') { $pool = 'vorhanden'; } else if ($selected\_pool == 'nicht vorhanden') { $pool = 'nicht vorhanden'; } if ($selected\_mitgliedschaft == 'einfache\_mitgliedschaft') { $mitgliedschaft = 'einfache Mitgliedschaft'; } else if ($selected\_mitgliedschaft == 'Premiummitgliedschaft') { $mitgliedschaft = 'Premiummitgliedschaft'; } if ($selected\_belegungsplan == 'belegungsplan') { $belegungsplan = 'ja'; } else if ($selected\_belegungsplan == 'kein\_belegungsplan') { $belegungsplan = 'nein'; } # Ihre E-Mail-Adresse $an ="hier steht eigentlich eine emailadresse"; //variable 'an' ist emailadr # Diese Nachricht wird an Ihre E-Mail-Adresse gesendet $text = "Neues Inserat:\n\n Kundeninformation: \n Vorname: $vorname\n Nachname: $nachname\n Kontakt: $telefon, $email\n Anschrift: $anschrift\n Welche Sprachen sprechen Sie? $sprachen\n Rechnung: $rechnungsname, $rechnungsanschrift\n\n Objektinformationen: \n\n Name es Objektes: $objektname\n Anschrift: $objektanschrift\n Anzahl der Zimmer: $zimmer\n Pool: $pool\n Haustiere: $haustiere\n Zusätzliche Kosten: $zusatzkosten\n Besonderheiten: $besonderheiten\n Kurzbeschreibung Deutsch: $kurzbeschreibung\_dt\n ausführliche Beschreibung Deutsch: $beschreibung\_dt\n Kurzbeschreibung portugiesisch: $kurzbeschreibung\_pt\n ausführliche Beschreibung portugiesisch: $beschreibung\_pt\n Kurzbeschreibung englisch: $kurzbeschreibung\_en\n ausführliche Beschreibung englisch: $beschreibung\_en\n\n Mitgliedschaft: $mitgliedschaft\n Premiumwertung: $premium\n\n Belegungsplan: $belegungsplan \n\n AGB: $agb"; //Inhalt der email definiert @mail($an, "Test Aufnahmebogen", $text, "From: " . $email); //Mailfunktion mit Ziel, Betreff, Text echo " Bitte laden Sie zum Abschluss einige Bilder von $objektname, sowie eine Preisliste hoch. 10 Bilder kostenlos, weitere Bilder kostenpflichtig "; $max\_no\_img=10; // Maximum number of images value to be set here echo " "; echo ""; ?\> " /\> <?php for($i=1; $i<=$max_no_img; $i++){
echo " |Bild Bild "; } echo "Preisliste "; echo ""; echo " "; } else { ?\> function eingaben\_ueberpruefen() { var mail = document.Formular.email.value; if ((mail.length \< 5 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1)){ alert("Bitte geben Sie eine gültige email-Adresse ein!") document.Formular.email.focus(); return false; } else if ((document.Formular.telefon.value.length \< 6)) { alert("Bitte geben Sie eine Telefonnummer an, unter der Sie erreichbar sind!") document.Formular.email.focus(); return false; } else if (document.Formular.nachname.value.length \< 2) { alert("Bitte geben Sie Ihren Namen an!") document.Formular.nachname.focus(); return false; } else if (document.Formular.vorname.value.length \< 2) { alert("Bitte geben Sie Ihren Vornanamen oder eine Anrede an!") document.Formular.nachname.focus(); return false; } else if (document.Formular.anschrift.value.length \< 20) { alert("Bitte geben Sie Ihre Anschrift an") document.Formular.anschrift.focus(); return false; } else if (document.Formular.sprachen.value.length \< 2) { alert("Bitte geben teilen Sie uns mit, welche Sprachen Sie sprechen Sie werden Anfragen in diesen Sprachen erhalten.") document.Formular.sprachen.focus(); return false; } else if (document.Formular.objektname.value.length \< 5) { alert("Bitte geben Sie einen Namen für Ihr Objekt an! Diese Angabe ist wichtig, damit Ihr Objekt über unsere Suchfunktion gefunden werden kann.") document.Formular.objektname.focus(); return false; } else if (document.Formular.objektanschrift.value.length \< 2) { alert("Bitte geben Sie die genaue Adresse Ihres Objektes an! Diese Angabe ist wichtig, damit Ihr Objekt über unsere Suchfunktion gefunden werden kann.") document.Formular.objektanschrift.focus(); return false; } else if (document.Formular.zimmer.value.length \< 1) { alert("Bitte geben Sie an, über wieviele Schlafzimmer Ihre Immobilie verfügt! Diese Angabe ist wichtig, damit Ihr Objekt über unsere Suchfunktion gefunden werden kann.") document.Formular.zimmer.focus(); return false; } else if (document.Formular.agb.checked != true) { alert("Bitte Formular vollständig ausfüllen!") return false; } else return true; " name="object\_id" size="27" /\> Kundeninformation: Name Vorname Telefon E-Mail Anschrift Welche Sprachen sprechen Sie? Rechnungsadresse falls abweichend: Name Anschrift Objektdaten: Name des Objektes genaue Anschrift: Anzahl der Zimmer Pool: vorhanden nicht vorhanden Haustiere: erwünscht nicht erwünscht Besonderheiten (Meerblick, beheizbarer Pool, Tennisplatz, Golfplatz in der Nähe etc.): zusätzliche Kosten (Kaution, Poolheizung, Internet etc.): Kurzbeschreibung des Objektes (deutsch, ca 400 Zeichen): ausführliche Beschreibung des Objektes (deutsch, min. 1500 Zeichen, erster Abschnitt wird im Katalog fett gedruckt): Übersetzung Kurzbeschreibung (portugiesisch): Übersetzung ausführliche Beschreibung (portugiesisch): Übersetzung Kurzbeschreibung (englisch): Übersetzung ausführliche Beschreibung (englisch): Mitgliedschaft einfache Mitgliedschaft Premiummitgliedschaft Wieviel möchten Sie für Ihre Premiumwertung zahlen vgl. Aufnahmebedingungen §x: Belegungsplan Ich möchte einen Belegungsplan zur Verfügung stellen Ich möchte keinen Belegungsplan zur Verfügung stellen Ich habe die [AGB und Aufnahmebedingungen](neukunden/agb-und-aufnahmebedingungen.pdf) gelesen und bin mit ihnen einverstanden