Adeodatus: Erst senden (php) wenn Eingabe vollständig (JS)

Hallo

Da ich bei php wenig Sonne sehe hab ich meine E_Mail Abfrage nun onblur mit JS gelöst. Die Abfrage funktioniert prima, das senden ebenso.

Und hier liegt mein letztes Problem:
Wie bekomm ich nun den Sendebutton mit der Prüfen Fx verknüpft?
Es soll erst abgesendet werden wenn die JS fx true ist.
(Senden mit php / einzelnes Feld onblur Prüfen mit JS)

Im Moment wird alles gesendet egal ob falsch oder richtig.
Kann man das überhaupt miteinander verknüpfen?

  
  
if($_POST)  
{  
 $strMailtext = "";  
  
 while(list($strName,$value) = each($_POST))  
 {  
  if(is_array($value))  
  {  
   foreach($value as $value_array)  
   {  
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";  
   }  
  }  
  else  
  {  
   $strMailtext .= $strName.$strDelimiter.$value."\n";  
  }  
 }  
  
 if(get_magic_quotes_gpc())  
 {  
  $strMailtext = stripslashes($strMailtext);  
 }  
  
 mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)  
  or die("Die Mail konnte nicht versendet werden.");  
 header("Location: $strReturnhtml");  
 exit;  
}  
  
?>
  
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">  
<input type="text" name="E-Mail" size="53" onblur="eMailAdresseOK(this)"/>  
<input type="submit" value="Senden" />  
</form>  
  

  1. Wie bekomm ich nun den Sendebutton mit der Prüfen Fx verknüpft?
    Es soll erst abgesendet werden wenn die JS fx true ist.
    (Senden mit php / einzelnes Feld onblur Prüfen mit JS)

    Guckst du da:
    http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit

    Gruß,
    Thomas

    1. Alles klar mach ich. Da sollte ich mich durchbeissen können :o)

      Vielen Dank Euch beiden

      1. Ok alles im Lot :) Jetzt wird gemacht was der Verfasser wollte.
        Die Hinweise waren wie immer spitze.

        Vielen Dank

  2. Hallöchen,

    [...]
    Im Moment wird alles gesendet egal ob falsch oder richtig.

    Das liegt daran, dass PHP von JS nix mitkriegt.

    Kann man das überhaupt miteinander verknüpfen?

    Dafür gibt es für JS den Event-Handler http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit@title=onsubmit, der das bewirkt, was du willst.

    [...]

    <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="text" name="E-Mail" size="53" onblur="eMailAdresseOK(this)"/>
    <input type="submit" value="Senden" />
    </form>

      
    Die dafür benötigte JS-Funktion hast du ja schon. Entweder lässt du sie bei onblur des input-Elements weg und verlagerst sie nur nach onsubmit, oder du rufst sie mit onsubmit halt noch mal auf.  
      
    Achte darauf, dass du bei onsubmit NICHT mit this arbeiten kannst! Wie dann - siehe obiger Link...  
      
    MfG  
    vaudi