Witam,
mam problem, z którym próbuję już drugi dzień walczyć bez efektu.
Na stronie mam 3 przyciski, jeden po klinięciu tworzy nowy obiekt <input type="file"> na zdjęcia, drugi tworzy taki sam na pozostałe pliki, a trzeci tworzy textarea do wpisywania tekstu.
Żeby mieć możliwości ingerencji w formatowanie tekstu nałożyłem nakładkę ckeditor. Tak wygląda kod js obsługujący zdarzenie po kliknięciu :
$('#btnAddText').click(function() {
sumaStala++;
var globalNumer = (($('.clonedInput').length) + ($('.clonedText').length) + ($('.clonedPicture').length));
var usedNumber = new Number(sumaStala);
var num = $('.clonedText').length;
var newNum = new Number(num + 1);
var newElem = $('#text1').clone().attr('id', 'text' + sumaStala).attr('name', 'input' + usedNumber).attr('class', 'ckeditor').css("display","block");
$('#koniec').before(newElem).before("
</textarea>");
//tworzenie klona linku
var newLink = $('#btnDelText').clone();
newLink.attr('id', 'btnDelText' + sumaStala);
//tworzenie klona linii
var newLine = $('#newLine').clone();
newLine.attr('id', 'newLine' + sumaStala);
$(newElem).wrap("
<div id=textt" + sumaStala + " class=clonedText />");
//dorzucam link i linie
$('#textt' + sumaStala).append(newLink);
$('#textt' + sumaStala).append(newLine);
//inicjacja ckeditor
if (CKEDITOR.instances['input' + usedNumber]) {
CKEDITOR.instances['input' + usedNumber].destroy();
}
CKEDITOR.replace( ('input' + usedNumber),
{
toolbar:
[
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Cut','Copy','Paste','PasteText','PasteFromWord'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['Link','Unlink']
],
width: 720,
height: 100,
skin: 'kama',
filebrowserBrowseUrl : '../ckfinder/ckfinder.html',
filebrowserImageBrowseUrl : '../ckfinder/ckfinder.html?Type=Images',
filebrowserFlashBrowseUrl : '../ckfinder/ckfinder.html?Type=Flash',
filebrowserUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
filebrowserImageUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
});
});
Całość działa ok wszędzie poza IE, w niej problem jest w miejscu CKEDITOR.replace( ('input' + usedNumber) gdzie przypisywana jest nazwa textarea'y, która ma zostać podmieniona przez ckeditora. IE wyrzuca błąd, w którym pisze o wyrzuconym wyjątku w pliku ckeditor.js - a w nim, po odnalezieniu widać, że błędem jest to, że nie ma obiektu o takiej nazwie jak przekazana.
Jeżeli ktoś miał podobny problem z ckeditore pod ie to bardzo proszę o wskazówkę.