Zum Inhalt springen

Formularfelder prüfen und engl. Popup?

Erstellt am 30. August 2004 · 12 Antworten · letzte Antwort am 14. Dezember 2004

Tags: JavaScript & AJAX, Frage

blueEye ·

Servus,

quick and dirty geht es in typo3/jsfunc.validateform.js - dort die englischen durch die deutschen Ausdrücke ersetzen.

Gruß - blueEye

alisia ·

1. Die Frage, wie man eine E-Mail-Adresse in einem Formular auf Plausibilität (@) prüft finde ich, aber leider keine Antwort.

Auch ich habe darauf noch keine Antwort finden können.

-> Wie kann man die einzugebende Absender-EMail auf Plausibiltät prüfen ?
-> jsfunc.validateform.js klingt ja schonmal ganz gut. Aber wie baut man das wo genau ein ? o.O

Für evtl. Tip`s danke ich Euch schonmal vorab. 🙂
Ciao Alisia

namtscho ·

Dazu muss man die Javaskriptdatei(t3lib/jsfunc.validateform.js) von Hand anpassen, da dort der engl. Hinweistext hart codiert hinterlegt ist.

Ich bin mir nicht sicher, ob das eine gute Lösung ist, denn das bedeutet bei jedem Update die Korrektur wieder nachzuziehen. Auch für mehrsprachige Seiten ist das vermutlich nicht der passende Weg.

Gruß namtscho

alisia ·

Hi Namtscho,
Danke Dir für Deine schnelle Reaktion.
Von Hand anpassen - alles klar - kein Thema.
Und mehrsprachig - naja.
Aber wo und wie verweise ich in meinem eMail-Formular auf dieses Script.
Kannst Du mir das mal ganz genau und idiotensicher beschreiben ?

Was gäbe es noch für (bessere) Alternativen ?
Bin für jeden Tip dankbar und froh wenn ich überhaupt eine hinbekäme.
Selbst eine simple Abfrage nach vorhandenem @ oder .xx wäre mir schon eine Hilfe.
Hauptsache überhaupt irgendwas und wenns geht noch ein bischen ellegant.
Vielleicht gleich mit im "Forms Wizard" o.O

namtscho ·

Sorry, aber im Moment habe ich leider keine Zeit, da ich noch ein Projekt fertig machen muss. Nächste Woche werde ich vermutlich mal an dieser Sache weitermachen.

Hast Du schon mal in der Newsgroup gefragt?

Gruß namtscho

Lemmi ·

Zum Beispiel kannst Du Deine geänderte *.js Datei, direkt in der ersten Zeile des Formulares aufrufen.

<SCRIPT LANGUAGE="JavaScript" SRC="fileadmin/dein_verzeichnis_name/jsfunc.validateform_deine_bezeichnung.js"></SCRIPT>
Name: | *der_name = input......... usw.

alisia ·

@ namtscho
😢

@ Lemmi
Klingt sehr gut.
Versteh zwar absolut nicht warum, aber irgendwie funktioniert es nicht.
Hast Du es so schon mal selbst getestet ?
Am Pfad sollte es doch wohl nicht liegen. o.O
Habe quasi Standartpfade.

Lemmi ·

ja, bei mehrsprachigen Seiten habe ich diese Zeile schon sehr oft eingebaut. Funktioniert bei mir problemlos.

Hast Du schon mal in dem Quelltext der Webseite nachgeschaut, ob die Zeile richtig eingelesen wird?

alisia ·

Ich wollte damit sagen: Es sollte der korrekte Pfad sein, denn ich habe daran nix geändert.
Jungfräuliche Standardinstallation sozusagen.
Aber trotztdem "luppt" es nicht.
Auch im Quellcode steht es korrekt geschrieben:

<script type="text/javascript" src="t3lib/jsfunc.validateform.js"></script>

Ich kann nicht ganz nachvollziehen warum. :o

Edit by Alisia:
Stunden später: #evil#

Habe eben bemerkt, dass t3lib/jsfunc.validateform.js anscheinend schon standardmäßig irgendwo eingefügt wird.
Zumindest bei mir im Quelltext steht es auf der Seite auf welcher auch mein Kontaktformular eingefügt ist, obwohl ich es selbst nirgendwo mehr eingetragen habe. o.O
(Cache natürlich gelöscht)

...
<meta name="RATING" content="General" />
<meta name="REVISIT-AFTER" content="7 days" />
<script type="text/javascript">
/*<![CDATA[*/
<!--
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
// Blurring links:
function blurLink(theObject) { //
if (msie4) {theObject.blur();}
}

// -->
/*]]>*/
</script>
<script type="text/javascript" src="t3lib/jsfunc.validateform.js"></script>

<script type="text/javascript">
/*<![CDATA[*/
<!--
if (version == "n3") {
img115_a108_0_n=new Image(); img115_a108_0_n.src = "typo3temp/m_5fa6cad99f.gif";
img115_a108_0_h=new Image(); img115_a108_0_h.src = "typo3temp/m_97f462eebd.gif";
img113_a108_1_n=new Image(); img113_a108_1_n.src = "typo3temp/m_7382c23649.gif";
img113_a108_1_h=new Ima
...

Warum funktionierts dann bei mir und vielen Anderen nicht ?
Ist das normal ? #giggle#

ctbuhl ·

Wenn man das Typo3 Standard-Formular benutzt,
muss man dazu nichts an jsfunc.validateform.js umstellen!

Man kann die Meldungen über TypoScript anpassen (siehe auch TSRef S. 87 ff.).

Um, die Meldungen in deutsch anzuzeigen habe ich eine Template-Erweiterung für die Formularseite angelegt, die wie folgt aussieht:

tt_content.mailform.20 {
REQ=1
emailMess = Die Email-Adresse ist ungültig
badMess = Bitte füllen Sie die folgenden Felder aus:
}

Den genauen Objekt-Pfad (hier: tt_content.mailform.20) muss man über den TypoScript Object Browser feststellen.

Damit das Format der Email-Adresse geprüft wird, gibt man beim Email-Feld die Spezialauswertung EMAIL an:

Email: | *email=input,40 | | EMAIL