• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

formularfelder prüfen und versenden

Status
Für weitere Antworten geschlossen.

Corraggiouno

Mitglied
hallo habe folgenden java-script-code geschrieben:
Code:
<script language="JavaScript" type="text/javascript">
   function formtest ()
   {
    var vorname, name, strasse, plz, ort, email;
    vorname=document.abfrage.vorname.value;
    name=document.abfrage.name.value;
    strasse=document.abfrage.strasse.value;
    plz=document.abfrage.plz.value;
    ort=document.abfrage.ort.value;
    email=document.abfrage.email.value;
    if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte f&uuml;llen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    return confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?");
   }
   </script>
in meiner html-datei steht noch folgendes:
Code:
<form action="" method="post" name="abfrage" id="abfrage" onReset="retrun sicher()" onSubmit="return formtest()">
Möchte die Formularfelder schon mit javascript abfragen. Aber wie geht das mit dem Versenden. Was gebe ich in form action ein?
Höchstwahrscheinlich müsste ich die html-datei in eine php-datei umbauen, weiß aber dann nicht wie ich den javascript-code in die php-datei einbauen soll.
Denn in php gibt es ja bekanntlich die
Code:
mail-funktion
Wenn ich die mail-funktion von php nutze, dann müsste ich ja das ganze über
Code:
isset
abfragen.
Kann mir da jemand weiterhelfen?
 
Werbung:
wenn du das Formular vor dem Absenden mit JS prüfen willst:
-in action="" die PHP-Datei eintragen
-statt <input type="submit" .../>, <input type="button" onclick="formtest();" .../> verwenden
-ans Ende der Funktion formtest() "document.abfrage.submit();" anhängen (schickt das Formular namens "abfrage" ab)

NACHTEIL: JavaScript muss aktiviert sein

mit PHP (was zu empfehlen wäre):
PHP:
if(empty($_POST['name']) OR empty($_POST['vorname']) OR ...)
  echo 'Da fehlt was...';
else
  //Formular verarbeiten
 
HTML:
<input type="button" onclick="formtest();" name="senden" value="versenden"</td>
            <td><input type="reset" name="zurueck" value="zur&uuml;cksetzen"</td>
habs jetzt so geschrieben, ist das korrekt?
Hab noch eine Frage? Wie das eigentlich, wenn ich die Seite bei einem Provider hochlade, der User füllt das Formular aus, und schickt es ab, welche Absender-Adresse ist dann in meinem Posteingang?
 
Werbung:
Abgesehen davon, dass du ein ">" vergessen hast ist das richtig.
Die Funktion sollte dann so aussehen:
PHP:
function formtest ()   {
  var vorname, name, strasse, plz, ort, email;
  vorname=document.abfrage.vorname.value;
  name=document.abfrage.name.value;
  strasse=document.abfrage.strasse.value;
  plz=document.abfrage.plz.value;
  ort=document.abfrage.ort.value;
  email=document.abfrage.email.value;

  if(vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")    {
    alert ("Bitte füllen Sie die mit * gekennzeichneten Felder aus!")
    return false;
  }
  document.abfrage.submit();
}
Hier kannst du nachlesen wie genau das mit PHP-mail() funktioniert
PHP-Einfach.de - PHP Tutorial - Mail Funktion
 
so müsste es passen:
HTML:
<td><input type="button" onclick="formtest();" name="senden" value="versenden" /></td>
müsste mein script nicht auch so lauten:
PHP:
function formtest ()
   {
    var vorname, name, strasse, plz, ort, email;
    vorname=document.abfrage.vorname.value;
    name=document.abfrage.name.value;
    strasse=document.abfrage.strasse.value;
    plz=document.abfrage.plz.value;
    ort=document.abfrage.ort.value;
    email=document.abfrage.email.value;
    if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte fuellen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    return confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?");
   document.abfrage.submit();
   }
   </script>
 
dann so (Ausschnitt):
PHP:
if(confirm("Sind Sie sicher...?"))
  document.abfrage.submit();
denn nach "return" ist eine Funktion definitiv vorbei => das Formular wird nicht abgeschickt.
 
Werbung:
PHP:
    if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte fuellen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    if confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?");
    {   
    document.abfrage.submit();
    }
Müsste dann nicht bei if confirm, dann noch Klammern gesetzt werden?
PHP:
    {   
    document.abfrage.submit();
    }
 
nein müssen nicht, ein einzelnen Aufruf kann man ohne Klammern an eine Bedingung hängen

Code:
if(irgendwas)
  alert('irgendwas'); //ist abhängig von if-Abfrage
alert('noch was'); //ist nicht mehr abhängig von if-Abfrage
 
Allerdings hast du (Corraggiouno) Klammern vergessen.

Und zwar um das confirm()
 
Werbung:
HTML:
if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte fuellen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    if confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?");
    {   
    document.abfrage.submit();
    }
So müsste es doch von der Syntax her stimmen!
 
HTML:
<script language="JavaScript" type="text/javascript">
   function formtest ()
   {
    var vorname, name, strasse, plz, ort, email;
    vorname=document.abfrage.vorname.value;
    name=document.abfrage.name.value;
    strasse=document.abfrage.strasse.value;
    plz=document.abfrage.plz.value;
    ort=document.abfrage.ort.value;
    email=document.abfrage.email.value;
    if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte fuellen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    if (confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?"));
   document.abfrage.submit();
   }
   </script>
Das habe ich ja bereits gepostet, dies dient ja dazu die Felder zu checken.
meine form action lautet so:
HTML:
<form action="kontakt.php" method="post" name="abfrage" id="abfrage" onReset="return sicher()" onSubmit="return formtest()">
nun folgen eben mehrere felder, in die der user seine daten eintragen kann, z.B.
HTML:
<tr>
            <td>Vorname*</td> 
            <td><input type="text" name="vorname"></td>
           </tr> 
</form>
leider bin kann ich in php, so gut wie keine kenntnisse vorweisen.
ich habe das mal so gemacht; unter </form> habe ich das php-script eingeführt:
PHP:
<?php
           $empfaenger = "[email protected]";
           $betreff = "";
           $from = "From: Kunde <[email protected]>";
           $vorname = "vorname";
           mail($empfaenger, $betreff, $from, $vorname);
          ?>
Ist das richtig, wenn ich nun den Wert vorname, der variablen vorname zuweise?
Kann mir da jemand weiterhelfen?
 
Zuletzt bearbeitet:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben