Hallo,
Gibt es eine Möglichkeit, dem Formular beim Aufruf Werte mitzugeben, um bestimmte Felder bereits vorzubelegen?
Wenn ja - wie muss ich das dann machen?
Nein gibt es so nicht.
Beim Captcha werden 5 Zeichen ausgegeben, aber nach drei gibts schon das ok.
Irgendwo kann man da doch sicher einwirken, oder?
Außerdem habe ich das gleiche Problem wie mein Vorredner, dass der Code bereits nach der dritten Stelle als OK erkannt wird. Wie kann ich das beheben?
Zeile 722 im Modul-Output (minChars, maxChars):
Code: Alles auswählen
$FieldsJava.=" var SprySicherheitscode = new Spry.Widget.ValidationTextField(\"SprySicherheitscode\", \"none\", {minChars:3, maxChars:5, validateOn:[\"blur\", \"change\"]});\n";
Achso, neben dem Textfeld (required) wird immer die Zeichenanzahl mit hochgezählt. An welcher Stelle kann ich das deaktivieren?
Zeile 587 im Modul Output(counterType, counterId):
Code: Alles auswählen
$FieldsJava.=" var ".$SpryData." = new Spry.Widget.ValidationTextarea(\"".$SpryData."\", {minChars:".$Require[2].", maxChars:".$Require[3].", useCharacterMasking:false, counterType:\"chars_count\", counterId:\"Counterror_mess\", validateOn:[\"blur\",\"change\"]});\n";
Jetzt kam es dazu, dass wir eine Seite in drei Sprachen gemacht haben. Das Problem ist die Russische Sprache.
Das Capcha gibt ja keine Kyrillischen Zeichen aus, aber in Russland haben die keine normalen Buchstaben auf der Tastatur und können in das Inputfeld des Capchas (aufgrund Zeichensatzes etc.) nur kyrillische Zeichen eingeben und daher das Formular nicht absenden.
Gibt es dafür eine Lösung (außer das Capcha zu deaktivieren).
Ich würde als erstes ein zweites Modul des DynForm mit einem anderen Namen anlegen.
Dort dann in Zeile 719 im Modul-Output den Namen captcha.php in zum Beispiel captcha2.php umbenennen:
Code: Alles auswählen
$CaptchaOutput.="\n\t<img src=\"".$CaptchaDir."/captcha.php\" border=\"0\" title=\"Sicherheitscode\"><br />";
Dann die Datei captcha.php dementsprechen in captcha2.php kopieren und die captcha2.php editieren und in Zeile 13 die Werte dementsprechend anpassen:
Code: Alles auswählen
$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
Dann eventuell noch einen passenden Font und das müsste dann gehen. Das erste Formular nutz dann also die captcha.php mit Lateinischen Zeichen und das zweite Formular die captcha2.php mit den Kyrillischen Zeichen.
...bei einigen Webauftritten tritt das Problem auf, dass bei gesetzem "Bestätigung per php-mail senden" keine Bestätigung verschickt wird. Das Formular wird aber ordnungsgemäß an den voreingestellten Empfänger verschickt.
Die Funktion startet eigentlich in Zeile 323 im Modul-Output
Code: Alles auswählen
if(isset($_POST["confirm"])){
foreach ($_POST["confirm"]as $confomadress){
unset($mail);
$mail = new phpmailer;
$mail->Host = "localhost";
$mail->IsHTML(true);
$mail->IsMail();
$mail->From = "CMS_VALUE[0]";
$mail->FromName = "CMS_VALUE[2]";
$mail->AddAddress($_POST[$confomadress], "");
$mail->Subject = "Bestätigungsemail! "."CMS_VALUE[3]";
$mail->Body = $mail_body;
$mail->WordWrap = 50;
$mail->Send();
}
}
Vieleicht stimmt hier für deinen Provider der Host für PHP-Mail nicht oder PHP-Mail funktioniert nicht mir der hier hinterlegten Absenderadresse.
Bei einigen Providern muss die Absenderadresse auf für PHP-Mail auch in wirklichkeit vorhanden sein.
Weiters, wenn das Häckchen bei "Diese Email als Absender" gesetzt ist dann wird das Formular gänzlich ohne Absender verschickt.
Die Funktion selbst startet eigentlich in Zeile 309 im Modul-Output
Code: Alles auswählen
if(isset($_POST["fromthismail"])){
$fromthismail=$_POST["fromthismail"];
$mail->From = trim($_POST[$fromthismail]);
$mail->FromName = "";
}else{
$mail->From = "CMS_VALUE[0]";
$mail->FromName = "CMS_VALUE[2]";
}
Versucht man dann das Häckchen bei "Diese Email als Absender" wieder zu entfernen funktioniert das nicht. Es bleibt einfach gesetzt.
Hier müsste man einmal im Backend schauen wie die hinterlegten Variabeln ausschauen. Da wird warscheinlich ein Wert nicht so wie es sein muss gelöscht.
denselben Effekt stelle ich auch gerade fest. Ebenso funktioniert die Eingabeüberprüfung mit grünem Häkchen auch nur temporär anscheinend.
Ich habe jetzt mehrere mehrere spry-Formulare erstellt, im selben Menüpunkt. Mal funktioniert die Überprüfung, mal nicht, der Zusammenhang ist mir noch unerschlossen.
Wenn mehrere Formulare unter einem Menüpunkt erstellt werden sollte in der Formularkonfig anstatt idCat (Standarteinstellung) auf IdArt umgestellt werden.
Steht es auf IdCat wird das Formular immer den Startartikel der jeweiligen Kategorie zur Weiterverarbeitung aufrufen. Steht es auf IdArt ruft es sich selbst zur Weiterverarbeitung der Daten auf.
Vieleicht liegt der Fehler hier.
also der Fehlercode mit dem division by zero tritt auf wenn wenn ich eine Radiobox Gruppe erstelle: eval()'d code on line 992
Das kommt von Zeile 457 bzw. 568 Modul-Output:
Code: Alles auswählen
if((is_int($count/$Require[4]))AND($countOptionRequire!=$count)){$Fields.="<br class=\"clear\" />";}
Es wird bei der Formularkonfig bei Radio- und Checkboxgruppen die Spaltenanzahl abgefragt.
Gibt man da nichts ein ergibt die oben stehende Codezeile ein "division by zero". Man sollte hier also schon mind. eine 1 für eine Spalte eingeben.
Hallo ist es möglich mit dem Modul die nachrichten an mehrere Empfänger gleichzeitig zusenden. ich habe es probiert mit:
Empfäner:
mail@t-mail.de;
mail2@t-mail.de
das funktioniert leider nicht, da kommt die nachricht nur bei
mail@t-mail.de an.
Der Mailversand erfolgt wie beim Original Formular per phpmailer-class ab Zeile 264 im Modul Output.
Für den Mailversand steht:
Die Emailadressen sollten also "
mail@t-mail.de","
mail2@t-mail.de" eingetragen werden.
Ich würde es dann einmal so probieren
mail@t-mail.de","
mail2@t-mail.de da die hochkommas vorn und hinten ja dann schon da sind. Ist aber erst einmal nur theoretisch gedacht.
Ich habe das gleiche Formular (mit gleichem Layout) in Deutsch und Englisch eingepflegt (Synchronisiert).
Im Deutschen funktioniert die Prüfung der Pflichtfelder.
Im Englischen werden die Pflichtfelder (genau die gleichen wie im Deutschen) nicht geprüft.
Das könnte an den Javascriptnamen liegen.
Ich würde vorschlagen den Quelltext im Browser zu überprüfen.
Das zu überprüfende Feld (span-Tag) müsste als Beispiel so heißen:
und das Javascript dann so:
Code: Alles auswählen
var SpryEmail = new Spry.Widget.ValidationTextField("SpryEmail", "email", {validateOn:["blur","change"]});
Überall steht hier SpryEmail. Wenn diese nicht überein stimmen funktioniert die Abfrage nicht.
Ist da vieleicht ein Link vorhanden?
ich habe in einer Contenido Version 4.8.13 das Modul installiert und wie oben beschreiben eingerichtet. Bei einigen Feldern habe ich angegeben, dass diese Pflichtfelder sein sollen. Wenn ich aber nun das Formular versende ohne Daten einzugeben, wird es trotzdem abgeschickt. Der Counter mit den möglichen Zeichen funktioniert auch nicht. Die Felder werden nach dem ausfüllen auch nicht grün hinterlegt. Scheint so, als ob das Javascript nicht arbeiten würde.
Jemand eine Idee?
a jedoch ein Fragezeichen in dem Titel vorhanden war, wird dieses auch als Variablenname verwendet. Das bringt das Script zum Absturz und der ganze Javascript Part geht nicht mehr. Es müsste also so angepasst werden, dass Sonderzeichen nicht als ID verwendet werden.
Also kein Fragenzeichen u.s.w im Feldtitel verwenden...
Bzw. wie hier imm Threat weiter vorn schon beschrieben wurde, da dies ein "Sonderzeichen" ist, es ab Zeile 440 im Modul-Output herausfiltern lassen:
Code: Alles auswählen
$SpryData = str_replace("-", "", $SpryData);
$SpryData = str_replace("/", "", $SpryData);
$SpryData = str_replace(" ", "", $SpryData);
$SpryData = str_replace(":", "", $SpryData);
$SpryData = str_replace(".", "", $SpryData);
$SpryData = str_replace("*", "", $SpryData);
hier also noch ein
hinzufügen und es können auch ? im Text verwendet werden.
Alles hat soweit geklappt, aber das Formular wird nicht abgesandt. Das Standardformular (Kontakt-Modul) hingegen klappt problemlos, das xtcDynSpryForm 0.9.2 funktioniert mit keiner der vier Versandmethoden. Es wird auch keine Fehlermeldung rausgeworfen, nach Absenden landet man einfach auf der Startseite der Website.
Wenn die Seite mit dem Modul keine Startseite eines Menüpunktes ist, muss in der Formularkonfig von idCat (Standarteinstellung) auf IdArt umgestellt werden damit dann das Formular direkt zur Verarbeitung angesprochen wird.
Wie steht es da aktuell?
Nachtrag:
ich hab nun das Modul auf drei verschiedenen contenido-Installationen (v.4.8.12) probiert: immer das gleiche, es läuft nicht, ohne Fehlermeldung, ohne alles. Es wird nichts versand, nach Absenden nur ein kommentarlosen Verlinken auf de Startseite. Da diese Installationen nicht besonders angepasst sind, bin ich echt sprachlos. Wobei das Standardkontaktformular ja läuft ...
Hat jemand eine Idee?
Horst Wiese
Der Möglichkeiten gibt es da viele. Welches Standartforumular funktioniert noch? Das alte der 4.6.15 oder das neue der 4.8.12?
Hier müsste ich mir das dann einmal genauer anschauen um mehr sagen zu können.
Vieleicht liegt es hier nur an der idCat (Standarteinstellung), IdArt Einstellung.
Gruß yodatortenboxer