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 :
  1. $('#btnAddText').click(function() {
  2. sumaStala++;
  3. var globalNumer = (($('.clonedInput').length) + ($('.clonedText').length) + ($('.clonedPicture').length));
  4. var usedNumber = new Number(sumaStala);
  5. var num = $('.clonedText').length;
  6. var newNum = new Number(num + 1);
  7. var newElem = $('#text1').clone().attr('id', 'text' + sumaStala).attr('name', 'input' + usedNumber).attr('class', 'ckeditor').css("display","block");
  8. $('#koniec').before(newElem).before("</textarea>");
  9. //tworzenie klona linku
  10. var newLink = $('#btnDelText').clone();
  11. newLink.attr('id', 'btnDelText' + sumaStala);
  12. //tworzenie klona linii
  13. var newLine = $('#newLine').clone();
  14. newLine.attr('id', 'newLine' + sumaStala);
  15. $(newElem).wrap("<div id=textt" + sumaStala + " class=clonedText />");
  16. //dorzucam link i linie
  17. $('#textt' + sumaStala).append(newLink);
  18. $('#textt' + sumaStala).append(newLine);
  19. //inicjacja ckeditor
  20.  
  21. if (CKEDITOR.instances['input' + usedNumber]) {
  22. CKEDITOR.instances['input' + usedNumber].destroy();
  23. }
  24.  
  25. CKEDITOR.replace( ('input' + usedNumber),
  26. {
  27. toolbar:
  28. [
  29. ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
  30. ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
  31. ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
  32. ['Cut','Copy','Paste','PasteText','PasteFromWord'],
  33. ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
  34. ['Link','Unlink']
  35. ],
  36. width: 720,
  37. height: 100,
  38. skin: 'kama',
  39. filebrowserBrowseUrl : '../ckfinder/ckfinder.html',
  40. filebrowserImageBrowseUrl : '../ckfinder/ckfinder.html?Type=Images',
  41. filebrowserFlashBrowseUrl : '../ckfinder/ckfinder.html?Type=Flash',
  42. filebrowserUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
  43. filebrowserImageUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
  44. filebrowserFlashUploadUrl : '../ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
  45. });
  46. });


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