Per JavaScript Kontaktformular in HTML
Moin zusammen!
Ich benötige mal eurer Wissen für eine Lösung.
mein Problem...
möchte ein Kontaktformular (html) so abändern, dass alle Eingabefelder bei nicht vorhandensein von JavaScript verborgen bleiben und Alternativtext angezeigt wird.
So, meine Überlegung ist folgende.
Ganznormale HTML schreiben mit div etc. dann einfach die Eingabefelder mit javascript und document.write eintragen lassen.
nicht lang überlegt und das zusammen gebaut:
<script type="text/javascript">
document.write("<form action='kursphp_senden.php' method='post' name='kontaktformular' id='kontaktformular' onsubmit='return pruefen()'>");
document.write("<table width='600' border='0' align='center' cellpadding='5' cellspacing='5'>");
document.write("<tr>");
document.write("<td><div align='right'><font face='Arial, Helvetica, sans-serif'>Anrede:</font></div></td>");
...
document.write("</table>");
document.write("</form>");
</script>
Und als Ergänzung noch den Alt-Text:
<noscript>
<p>Ihr Browser unterstützt leider die Funktionen
mit JavaScript nicht!<br />
Wahrscheinlich haben Sie eine ältere Browser-Version,
...
</p>
</noscript>
Nun ist mein Problem genau dieses, dass er in den ersten scriptblock nicht reingeht.
Habe des mit einer Zeile document.write ('Hallo'); getestet.
Dabei habe ich schon probiert (' ... '); bzw. ("..."); bei document.write mit dem selben Resultat.
Ich habe da langsam keine Idee mehr oder ist meine Idee schon ganz falsch?
Bitte um eure Hilfe und bedanke mich im voraus recht herzlich!
Gruss StrongOne
Ganznormale HTML schreiben mit div etc. dann einfach die Eingabefelder mit javascript und document.write eintragen lassen.
nicht lang überlegt und das zusammen gebaut:
<script type="text/javascript">
document.write("<form action='kursphp_senden.php' method='post' name='kontaktformular' id='kontaktformular' onsubmit='return pruefen()'>");
document.write("<table width='600' border='0' align='center' cellpadding='5' cellspacing='5'>");
document.write("<tr>");
document.write("<td><div align='right'><font face='Arial, Helvetica, sans-serif'>Anrede:</font></div></td>");
...
document.write("</table>");
document.write("</form>");
</script>
Und als Ergänzung noch den Alt-Text:
<noscript>
<p>Ihr Browser unterstützt leider die Funktionen
mit JavaScript nicht!<br />
Wahrscheinlich haben Sie eine ältere Browser-Version,
...
</p>
</noscript>
Nun ist mein Problem genau dieses, dass er in den ersten scriptblock nicht reingeht.
Habe des mit einer Zeile document.write ('Hallo'); getestet.
Dabei habe ich schon probiert (' ... '); bzw. ("..."); bei document.write mit dem selben Resultat.
Ich habe da langsam keine Idee mehr oder ist meine Idee schon ganz falsch?
Bitte um eure Hilfe und bedanke mich im voraus recht herzlich!
Gruss StrongOne
Please also mark the comments that contributed to the solution of the article
Content-Key: 138179
Url: https://administrator.de/contentid/138179
Printed on: April 27, 2024 at 12:04 o'clock
8 Comments
Latest comment
Hm... scheint mir viel zu kompliziert !
Du wisst also das das Formular nur angezeigt wird wenn Javascript aktiviert ist, richtig !?
Eine Seite solle auch bei deaktiviertem Javasript __voll nutzbar bleiben__ !
Lass das HTML komplett ausgeben - samt Formular. Dieses aber mit einem kleinem CSS Zusatz: "display:none;", so wird es nie angezeigt !
Jetzt noch eine Javascript Funktion die die CSS-Eigenschaft display des Formulars auf z.B. block setzt und schon ist es nur für Benutzer mit aktiviertem Javascript sichtbar.
~Arano
Du wisst also das das Formular nur angezeigt wird wenn Javascript aktiviert ist, richtig !?
Eine Seite solle auch bei deaktiviertem Javasript __voll nutzbar bleiben__ !
Lass das HTML komplett ausgeben - samt Formular. Dieses aber mit einem kleinem CSS Zusatz: "display:none;", so wird es nie angezeigt !
Jetzt noch eine Javascript Funktion die die CSS-Eigenschaft display des Formulars auf z.B. block setzt und schon ist es nur für Benutzer mit aktiviertem Javascript sichtbar.
~Arano
Danke danke ![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
ist doch schnell gemacht...
Sag einmal, magst du erzählen warum das Formular nur bei aktiviertem Javascript sichtbar sein soll !?
~Arano
ist doch schnell gemacht...
<script type="text/javascript">
<!--
function show_id(ID)
{
document.getElementById(ID).style.display = "block";
}
-->
</script>
<body>
<form id="visibelWithJavascript" style="display:none;">
...
</form>
<script type="text/javascript">
<!--
show_id("visibleWithJavascript");
-->
</script>
</body>
~Arano
Öhm... sorry, ich wüsste nicht was ich an meinem Beispiel beschrieben sollte. Zudem ist es ja die Umsetzung von meiner Beschreibung/Idee von vorhin.
Aus Sicherheitsgründen sagst du...
Javascript ist Standardmässig in jedem Browser aktiviert, das heisst, dein Vorhaben hat Standardmässig: keinen Effekt - ist dir das bewusst !?
Und jemand der Spamen will, den hält auch das nicht auf.
Sowas überprüft man Serverseitig, z.B. mit PHP.
Javascript kann man __zusätzlich__ zur Eingabenvalidierung verwenden um dem Benutzer das "lange" Neuladen einer Seite mit der Fehlermeldung einer Eingabe zu ersparen - die Serverseitige Überprüfung ersetzt das jedoch nicht !
~Arano
Aus Sicherheitsgründen sagst du...
Javascript ist Standardmässig in jedem Browser aktiviert, das heisst, dein Vorhaben hat Standardmässig: keinen Effekt - ist dir das bewusst !?
Und jemand der Spamen will, den hält auch das nicht auf.
Sowas überprüft man Serverseitig, z.B. mit PHP.
Javascript kann man __zusätzlich__ zur Eingabenvalidierung verwenden um dem Benutzer das "lange" Neuladen einer Seite mit der Fehlermeldung einer Eingabe zu ersparen - die Serverseitige Überprüfung ersetzt das jedoch nicht !
~Arano
Kann man ja geteilter Meinung sein:
Entweder hält es die "kleinen" ab oder macht sie neugierig und gibt ihnen das "große Hackergefühl" wenn sie es dann geschafft haben - mal so, mal so![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
Wie versendest du die Mails bzw. wie werden die Daten des Formulars verarbeitet ?
~Arano
Entweder hält es die "kleinen" ab oder macht sie neugierig und gibt ihnen das "große Hackergefühl" wenn sie es dann geschafft haben - mal so, mal so
...und das kann man ja nur meines wissens mit javaScript unterbinden...
"Nur so" ist falsch, ist natürlich abhängig davon wie die Mail dann versandt .Wie versendest du die Mails bzw. wie werden die Daten des Formulars verarbeitet ?
~Arano