почему плагин jquery form конфликтует с fckeditor и загрузкой файлов? - PullRequest
0 голосов
/ 19 февраля 2012

Я создал форму, которая содержит поле ввода FCKEditor + File, и я отправляю форму, используя метод ajaxSubmit (), предоставленный плагином jquery form ниже.

http://jquery.malsup.com/form/

Если я не использую поле ввода файла, значения FCKEditor отправляются правильно, но если я добавляю поле ввода файла в форму, обновленное содержимое FCKEditor не сохраняется. Он хранит только старые значения. Какие-либо предложения ? Спасибо.

1 Ответ

0 голосов
/ 18 января 2013

У меня была та же проблема, похоже, потому что функция javascript, которая присоединяет обработчик к форме загрузки файла, соответствует всем формам на странице $ ('form'), которая включает в себя форму, инкапсулирующую CKEditor.

Вы можете решить эту проблему, добавив поле идентификатора в форму загрузки и нацеливаясь на этот конкретный идентификатор, когда присоединяете обработчик событий, чтобы CKEditor не затрагивался.

например.

 <form action="upload.php" method="post" enctype="multipart/form-data" id="upload_image_form">
    <input type="file" name="myfile"><br>
    <input type="submit" value="Upload image to Server">
</form>
<div class="progress">
    <div class="bar"></div >
    <div class="percent">0%</div >
</div>
<div id="status"></div>
$(document).ready(function() {
var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('form#upload_image_form').ajaxForm({
    beforeSend: function() {
    status.empty();
     var percentVal = '0%';
    bar.width(percentVal)
    percent.html(percentVal);
        },
    uploadProgress: function(event, position, total, percentComplete) {
    var percentVal = percentComplete + '%';
    bar.width(percentVal)
     percent.html(percentVal);
    },
    complete: function(xhr) {
        status.html(xhr.responseText);
        percent.html('100%');
        bar.width('100%')
    }
});
});
...