Tutorial Ein- und Ausblenden Script für Formular-Generator - von Werner-Zenk.de.

Hier zeige ich Euch lediglich den Quelltext von diesem Script zum Ein- und Ausblenden meines Feldes “Bewerbung”.

Alle händischen Änderungen am Original Script habe ich hier blau markiert, die sich auf das hinzugefügte JavaScript beziehen.

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title></title>

  <style>
  body, textarea {
   font-family: Verdana, Sans-Serif;
   font-size: 14px;
  }

  span.pflichtfeld {
   font-size: 12px;
   color: Red;
  }

  span.hilfetext {
   font-size: 10px;
   font-style: Oblique;
  }

  blockquote {
   width: 385px;
  }

  p#bewerbung_anzeigen {
   display: None;
  }

  </style>

  <script>
  // Tastatureingaben zählen
  function CheckLen3() {
   document.getElementById("Zeichen3").innerHTML = document.Form.nachricht.value.length;
  }
  // Tastatureingaben zählen
  function CheckLen5() {
   document.getElementById("Zeichen5").innerHTML = document.Form.bewerbung.value.length;
  }
  </script>
 
  <script>
  // zusätzliches Skript für das Feld Bewerbung zum Anzeigen oder Ausblenden
  function bewerbungCheck() {
   if (document.getElementsByName("bewerbung_hinzufuegen")[0].checked) {
    document.getElementById("bewerbung_anzeigen").style.display="Block";
   }
   else {
    document.getElementById("bewerbung_anzeigen").style.display="None";
   }
  }
  </script>


 </head>
<body>

<?php
/*
   Aktion: Formulardaten als E-Mail versenden.
   Formular - PHP 5.4+, Zeichenkodierung: UTF-8

   Erstellt mit dem Formular Generator (30.06.2016) -
   http://www.nof-tutorials.com/Webbausteine-Formular-Generator/formulargenerator.php

   Bitte testen Sie das Formular ausführlich und
   beachten Sie die Hinweise im Quelltext!
*/

// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)

// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "index.php";

$name = isset($_POST["name"]) ? strip_tags(trim($_POST["name"])) : ""; // Name
$email = isset($_POST["email"]) ? strip_tags(trim($_POST["email"])) : ""; // E-Mail
$betreff = isset($_POST["betreff"]) ? strip_tags(trim($_POST["betreff"])) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? strip_tags(trim($_POST["nachricht"])) : ""; // Nachricht
$bewerbung_hinzufuegen = isset($_POST["bewerbung_hinzufuegen"]) ? strip_tags(trim($_POST["bewerbung_hinzufuegen"])) : ""; // Bewerbung hinzufügen

// Radiobutton: Bewerbung hinzufügen
$array = [
"Ja",
"Nein",
];
$bewerbung_hinzufuegenRB = "";
foreach ($array as $key => $value) {
 $bewerbung_hinzufuegenRB .= "<label><input type='radio' name='bewerbung_hinzufuegen' onClick='bewerbungCheck()' value='" . $value . "'";
 if (isset($_POST["bewerbung_hinzufuegen"])) {
  if ($_POST["bewerbung_hinzufuegen"] == $value) {
   $bewerbung_hinzufuegenRB .= " checked='checked'";
  }
 }
 else if ($key == 1) { // 0 = Vorauswahl Option 1
   $bewerbung_hinzufuegenRB .= " checked='checked'";
 }
 $bewerbung_hinzufuegenRB .= ">" . $value . "</label> &nbsp;\n ";
}

$bewerbung = isset($_POST["bewerbung"]) ? strip_tags(trim($_POST["bewerbung"])) : ""; // Bewerbung
$KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" : null; // E-Mail Kopie

// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "sicherheit"=>""];
if (isset($_POST["submit"])) {
 $Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false ? " Geben Sie eine gültige E-Mail-Adresse ein!" : "";
 $Fehler["betreff"] = strlen($_POST["betreff"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
 $Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
 $Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Rechenaufgabe ist leider falsch!" : "";
}

// Sicherheitsabfrage - Rechenaufgabe
$Z0 = [mt_rand(1, 9), mt_rand(1, 9)];
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " &#43; &#" . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);

// Formular erstellen
$Formular = "
<form name='Form' action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>

<h3>Überschrift</h3>

<p>
 <label> Name:
<span class='pflichtfeld'>&#10034; " . $Fehler["name"] . "</span><br>
  <input type='text' name='name' value='" . $name . "' size='35' required='required' placeholder='Pflichtfeld'>
 </label>
</p>

<p>
 <label> E-Mail:
<span class='pflichtfeld'>&#10034; " . $Fehler["email"] . "</span><br>
  <input type='email' name='email' value='" . $email . "' size='35' required='required' placeholder='Pflichtfeld'>
 </label>
</p>

<p>
 <label> Betreff:
<span class='pflichtfeld'>&#10034; " . $Fehler["betreff"] . "</span><br>
  <input type='text' name='betreff' value='" . $betreff . "' size='35' required='required' placeholder='Bitte mindestens 10 Zeichen'>
 </label>
</p>

<p>
 <label> Nachricht:
 <span class='pflichtfeld'>&#10034; " . $Fehler["nachricht"] . "</span><br>
  <small><strong id='Zeichen3'>0</strong> Zeichen</small><br>
 <textarea name='nachricht' cols='40' rows='8' required='required' onKeyUp='CheckLen3()'>" . $nachricht . "</textarea>
 </label>
</p>

<p>
 Bewerbung hinzufügen:
 <br>
 " . $bewerbung_hinzufuegenRB . "
</p>

<p id='bewerbung_anzeigen'>
 <label> Bewerbung:<br>
  <small><strong id='Zeichen5'>0</strong> Zeichen</small><br>
 <textarea name='bewerbung' cols='40' rows='8' onKeyUp='CheckLen5()'>" . $bewerbung . "</textarea>
 </label>
</p>

<p>
 <label>
 <input type='checkbox' name='Kopie'" . $KopieCk . ">
 Eine Kopie dieser Nachricht an meine E-Mail Adresse
 </label>
</p>

<p>
 <label> Sicherheitsabfrage:
 <span class='pflichtfeld'>&#10034; " . $Fehler["sicherheit"] . "</span><br>
 <em>" . $Spam . "</em> =
 <input type='text' name='zip' size='4' pattern='[0-9]{1,2}' required='required' autocomplete='off'>
 </label>
 <input type='hidden' name='zip2' value='" . $Schutz . "'>
 <br><span class='hilfetext'> Bitte lösen Sie die Rechenaufgabe. </span><br>
</p>

<p>
 <br>
 <input type='submit' name='vorschau' value='Vorschau' formnovalidate='formnovalidate'> -
 <input type='submit' name='submit' value='Formular absenden'>
</p>

<p>
 <small>Bitte alle mit <span class='pflichtfeld'>&#10034;</span>
 markierten Felder ausfüllen.</small>
</p>

</form>

<script>CheckLen3();CheckLen5();</script>
";

// Vorschau
if (isset($_POST["vorschau"])) {
 echo strip_tags("<blockquote>
 <h4>Vorschau</h4>
 <b>Name:</b> $name <br>
 <b>E-Mail:</b> $email <br>
 <b>Betreff:</b> $betreff <br>
 <b>Nachricht:</b> <br>" . nl2br($nachricht) . " <br>
 <b>Bewerbung hinzufügen:</b> $bewerbung_hinzufuegen <br>
 <b>Bewerbung:</b> <br>" . nl2br($bewerbung) . "
 </blockquote>", "<blockquote><h4><b><br>");
}

// Formular abgesendet
if (isset($_POST["submit"])) {

 // Sind keine Benutzer-Eingabefehler vorhanden
 if (implode("", $Fehler) == "") {

  // Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!

  // Zeitzone und das aktuelle Datum setzen
  // http://de3.php.net/manual/de/timezones.europe.php
  date_default_timezone_set("Europe/Berlin");
  $Datum = date("d.m.Y H:i");

  // Empfänger E-Mail
  $Mailto = "name@example.com";

  // Inhalt der E-Mail setzen
  $Text = "   Gesendet am: $Datum Uhr
   Name: $name
   E-Mail: $email
   Betreff: $betreff
   Nachricht: $nachricht
   Bewerbung hinzufügen: $bewerbung_hinzufuegen
   Bewerbung: $bewerbung
  ";

  // E-Mail versenden
  mb_internal_encoding("UTF-8");
  $Betreff = mb_encode_mimeheader($betreff, "UTF-8", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
   "<" . $email . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";

  if (mail($Mailto, $Betreff, $Text, $Kopfzeile)) {

   echo "<p>Vielen Dank, die Nachricht wurde versendet.</p>";
  }
  else {

   // Wenn die Daten nicht versendet werden konnten,
   // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
   echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" .
   "Bitte wenden Sie sich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>";
  }

  // E-Mail Kopie versenden (Vorschlag) - Bitte anpassen!
  if (isset($_POST["Kopie"])) {

   // Diese Nachricht wird an die E-Mail-Adresse des Besuchers gesendet.

   // Name/Signatur
   $Signatur = "";

   // Betreff
   $Betreff = "Kopie einer Nachricht";

   // Inhalt der E-Mail setzen
   $Text = "   Vielen Dank für Ihren Besuch bei ...
   Wir haben folgende Nachricht erhalten:

   Name: $name
   E-Mail: $email
   Betreff: $betreff
   Nachricht: $nachricht
   Bewerbung hinzufügen: $bewerbung_hinzufuegen
   Bewerbung: $bewerbung

   Mit freundlichen Grüßen
    $Signatur 
   ";

   // E-Mail Kopie versenden
   $Betreff = mb_encode_mimeheader($Betreff, "UTF-8", "Q");
   $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "UTF-8", "Q") .
    "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
   if (mail($email, $Betreff, $Text, $Kopfzeile)) {
    echo "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>";
   }
  }

  // Weiterleitung
  echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";
 }
 else {

  // Formular und Benutzer-Eingabefehler ausgeben
  echo $Formular;
 }
}
else {

 // Formular ausgeben
 echo $Formular;
}
?>

</body>
</html>

Tutorials von Thomas Frei-Herrmann

diese Seite weiter empfehlen


Counter Statistik