Seite 1 von 1
Editor hängt
Verfasst: Fr 27. Mai 2005, 20:26
von conti
v4.45-r1
Hallo,
ich habe festgestellt, dass bei einem simplen Formular
Code: Alles auswählen
<FORM action=index.php method=post>
<INPUT type=hidden value=xxxx name=page>
<INPUT type=hidden value=d6a9a name=xxxx>
<INPUT type=hidden value=1 name=id>
<INPUT type=submit value=OK name=submit>
</FORM>
in dem
id vorkommt, der Editor hängt.
Ich kann dann die Container in den Artikeln nicht mehr bearbeiten, da
ein Scriptfehler vom IE ausgegeben wird.
Ich habe einige Zeit gebraucht um das herauszufinden.
Beim testen mit z.B. ix usw. statt id funktioniert das ganze wieder.
Nun ist es so, das ich
id unbedingt für mein Formular benötige.
Was könnte man tun, um das glatt zu bügeln.
Re: Editor hängt
Verfasst: Sa 28. Mai 2005, 08:57
von emergence
conti hat geschrieben:Was könnte man tun, um das glatt zu bügeln.
na ja man könnte den fehler beheben...
-> includes/include.con_editcontent.php
findet sich in einer 4.4.5r1
Code: Alles auswählen
// loop through all elements
for (var i=0; i < a.length; i++) {
aId = a[i].id;
aIdPrefix = aId.substr(0,4);
// search for the id which containes HTML
if (aIdPrefix == 'HTML') {
// check if its an 'contentEditable' Field
if (a[i].isContentEditable == true) {
// read out the content
var aContent = a[i].innerHTML;
// split the idname in data - datas 0 is the Fieldname 2 is the typeid
var data = aId.split("_");
if ( aContent == "" ) {
aContent = "!!";
} else {
// if there is an | in the text set a replacement chr because we use it later as isolator
while( aContent.search(/\|/) != -1 ) {
aContent = aContent.replace(/\|/,"§%%§");
}
}
// build the string which will be send
str += idart +'|'+ data[2] +'|'+ aContent +'|'+ data[0] +'||';
}
}
}
ich würde folgendes verwenden...
Code: Alles auswählen
// loop through all elements
for (var i=0; i < a.length; i++) {
aId = a[i].id;
if (aId != '' && typeof aId == 'string') {
aIdPrefix = aId.substr(0,4);
// search for the id which containes HTML
if (aIdPrefix == 'HTML') {
// check if its an 'contentEditable' Field
if (a[i].isContentEditable == true) {
// read out the content
var aContent = a[i].innerHTML;
// split the idname in data - datas 0 is the Fieldname 2 is the typeid
var data = aId.split("_");
if ( aContent == "" ) {
aContent = "!!";
} else {
// if there is an | in the text set a replacement chr because we use it later as isolator
while( aContent.search(/\|/) != -1 ) {
aContent = aContent.replace(/\|/,"§%%§");
}
}
// build the string which will be send
str += idart +'|'+ data[2] +'|'+ aContent +'|'+ data[0] +'||';
}
}
}
}
hmm... hab das jetzt aber nur auf einem ie getestet...
wirklich neu ist ja nur diese überprüfung:
im prinzip werden zwei dinge zusätzlich überprüft
1. ob das html element wirklich keine leere id hat
2. und wenn ja ob die id wirklich ein string ist
Verfasst: Sa 28. Mai 2005, 09:03
von emergence
verschoben nach Bugs 4.5.x -> da es auch mit dem cvs_head auftritt
Verfasst: Sa 28. Mai 2005, 11:44
von conti
Funktioniert jetzt bestens.
Vielen Dank

Verfasst: Do 2. Jun 2005, 14:10
von timo
habe das korrigiert.