Hallo.
Mir ist es ein Rätsel, warum TYPO3 mir eine Javascript-Funktion jedesmal zerpflückt. Sie wird innerhalb einer Extension generiert, in <script type="text/javascript"> und CDATA verpackt (egal ob per Hand oder mit t3lib_div::wrapJS) und passt bis zur Übergabe an TYPO3. Im Frontend wird der Code dann aber am Ende verstümmelt. Warum?
Die Funktion
function feedit_manipulateGroup(theField) {
selObj = document.tx_abminijoboffers_jobs_form[theField+'_select'];
val = selObj.value;
list = document.tx_abminijoboffers_jobs_form[theField].value;
newList = '';
for(i=0;i<selObj.length;i++) {
if(selObj.options[i].selected == false) {
newList += selObj.options[i].value+',';
} else {
rem_i = i;
}
}
if(newList.length!=0) {
newList = newList.substring(0,newList.length-1);
}
document.tx_abminijoboffers_jobs_form[theField].value = newList;
selObj.options[rem_i] = null;
}
Das ganze via t3lib_div::wrapJS($javascript) gewrapt und an TYPO3 übergeben, landet im HTML als (v.a. die letzten Zeilen beachten):
<script type="text/javascript">
/*<![CDATA[*/
function feedit_manipulateGroup(theField) {
selObj = document.tx_abminijoboffers_jobs_form[theField+'_select'];
val = selObj.value;
list = document.tx_abminijoboffers_jobs_form[theField].value;
newList = '';
for(i=0;i<selobj.length;i++) ifselobjoptionsiselected="false)" newlist="newList.substring(0,newList.length-1);" else="" rem_i="i;" ifnewlistlength="0)" documenttx_abminijoboffers_jobs_formthefieldvalue="newList;" selobjoptionsrem_i="null;">*/
</script>
Sobal ich den Einfluss in /*<![CDATA[*/ und /*]]>*/ weglasse, funktioniert es. Aber so ist das ja auch nicht wirklich gedacht...
Hat irgendjemand eine Idee, warum?
Viele Grüße
Julian