在jquery对话框中上传图像

时间:2012-03-13 08:57:27

标签: file-upload dialog

我有一个'上传'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 个答案:

答案 0 :(得分:1)

您无法使用jquery帖子上传文件。您可以使用其他插件,例如ajaxfileupload 它会在你的DOM中创建一个临时的IFrame,并且只会刷新那个IFrame来进行文件上传 您可以使用HTML5 file uploading查看browser support 或者你可以使用flash file uploaders

答案 1 :(得分:1)

现在,2013年。您可以使用ajax上传文件 但是,你必须添加ajaxForm插件, 搜索一下!在谷歌