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ę.