загрузить изображение в диалоге jquery - PullRequest
1 голос
/ 13 марта 2012

У меня есть диалоговое окно jquery для «загрузки», в котором отображается HTML-форма для загрузки.Я не могу понять, где разместить форму php, чтобы проверить работоспособность кода.Также изображение загружается в середине редактирования страницы, поэтому очень важно, чтобы страница не перезагружалась и изменения не терялись (пользователь не сохранит свои правки до добавления изображения).Как отправить загрузку и сохранить все в диалоговом окне, чтобы страница не перезагружалась, а затем я могу сделать код для вставки загруженного изображения на страницу?Спасибо, мой код:

public static function uploadImage(){
global $wgOut, $wgRequest;  

    $posted = $wgRequest->wasPosted();
    if( $posted ) {
    $wgOut->addHtml(' Maximum upload size: 2M <br />');
        }
    // form processing message set at the top if(!empty($message)){$wgOut->addHtml('$message'); }; 
    $wgOut->addHtml(' Upload an Image from your computer: <br />'); 
    $wgOut->addHtml('<form action="" enctype="multipart/form-data" method="Post">
            <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
            <input type="file" name="file_upload" id="file_upload" /> 
        <br />
        <input type="submit" name="upload" value="Upload" />
        </form>
        '); 
$wgOut->addHtml(' Maximum upload size: 2M <br />');
$wgOut->addHtml('Permitted file types: png,gif,jpg,jpeg.'); 

}

jquery:

$("#uploadImage")
                                    .dialog({
                                    autoOpen:false,
                                    title: "Upload Image",
                                    height: "auto",
                                    width: 300
                                    });

                                $("#uploadImage").dialog("open");

                                     };  

и

$wgOut->addHTML('<div id="uploadImage" style="display:none">');
     $form = self::uploadImage();   
     $wgOut->addHtml($form);
    $wgOut->addHTML('</div>');

Ответы [ 2 ]

1 голос
/ 24 января 2013

Сейчас 2013 год.Вы можете загрузить файл с помощью ajax Но вы должны добавить плагин ajaxForm, найдите его!в гугле

1 голос
/ 13 марта 2012

Вы не можете загружать файлы с помощью поста jquery. Вы можете использовать другой плагин, например ajaxfileupload Он создаст временный IFrame внутри вашей DOM и загрузит файл, только обновив этот IFrame.
И вы можете использовать HTML5 для загрузки файлов , вам нужно взглянуть на поддержку браузера .
Или же вы можете использовать загрузчики флэш-файлов .

...