Hallo Freunde,
jetzt wirds etwas aufwendiger :-) ich hoffe, dass liest sich einer durch.
Zunächst einmal (dann gehts vielleicht auch ganz schnell)
Kann ich einen kleinen Kalender (ähnlich dem Date selector library oder Date2Calendar) in das TMAILFORM einbauen.
Ich möchte über ein Formular ein Datum vom Kalender versenden.
Wenn ja: weiß jemand was ich da im Quelltext vom Formular angeben muß, damit mir der Kalender gezeigt wird?
2.ter Ansatz -> ich nehme ein Java Kalender, welchen ich mit den Standardcodes im TS und im TMAILFORM einbinde.
Hier stoße ich aber auf extreme Ablehnung :-)
Wenn ich per TS in den Header die Javascripte einbinde, dann erhalte ich OUT of MEMORY Fehler und der IE stürzt ab. Der FF zeigt mir netterweise noch die Fehler an.
Die Einbindung der *.js im TMAILFORM HTML alleine reicht natürlich nicht, weil dann nichts in den HEADER geschrieben wird.
Ich muß also die Anbindung der *.js im TS machen.
Ich denke, dass das Problem damit zusammenhängt, das im HTML ebenfalls eine Javascriptfunktion hinterlegt ist, welche anscheinend nicht ausgeführt wird.
Weglassen kann ich die aber auch nicht.
Also irgendwie ist da der Wurm drin :-)
Hier mal die Codes im Einzelnen (verkürzt)
Ursprünglicher HTML Quelltext für den Kalender (außerhalb T3)
<html>
<head>
<link rel="stylesheet" href="dynCalendar.css" type="text/css" media="screen" />
<script src="browserSniffer.js" type="text/javascript" language="javascript"></script>
<script src="dynCalendar.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript">
<!--
// Calendar callback. When a date is clicked on the calendar
// this function is called so you can do as you want with it
function calendarCallback(date, month, year)
{
date = date + '/' + month + '/' + year;
document.forms[0].date.value = date;
}
// -->
</script>
</head>
<body>
<form>
<input type="text" name="date" value="" />
<script language="JavaScript" type="text/javascript">
<!--
fooCalendar = new dynCalendar('fooCalendar', 'calendarCallback', 'images/');
//-->
</script>
</form>
</body>
</html>
Das hatte ich im TS stehen (natürlich nicht auskommentiert)
#seite.headerData.20 = TEXT
#seite.headerData.20.value = <script type="text/javascript" src="fileadmin/calendar/browserSniffer.js"></script>
#seite.headerData.20.value = <script type="text/javascript" src="fileadmin/calendar/dynCalendar.js"></script>
Die ursprüngliche HTML Datei und das TS mußich jetzt irgendwie zusammenführen :-(
Also habe ich das HTML vom TMAILFORM wie folgt geändert
....
<td class="###EMAIL_ERR###"><input type="text" name="date_input1" />
<script language="JavaScript" type="text/javascript">
<!--
/**
* Example callback function
*/
function calendar1Callback(date, month, year)
{
document.forms['calendar_test'].date_input1.value = date + '/' + month + '/' + year;
}
calendar1 = new dynCalendar('calendar1', 'calendar1Callback');
//-->
</script>
.....
Im Frontend wird jetzt der Kalender gezeigt und eigentlich passts, bis auf.....
wenn ich ein Datum auswähle, dann kommen die Fehlermeldungen (bzb. IE stürzt ab)
Fehlermeldung
document.forms['calendar_test'].date_input1.value = date + '/' + month + '/' + year;
Das ist natürlich genau die "function", welche innerhalb vom TMAILFORM HTML mit nem JavaScript aufgerufen wird (Hier weiß ich nicht, ob das überhaupt funktionieren kann).
Kann mir da jemand auf die Sprünge helfen???
Lieben Gruß Andreas