IFRAME文件上传无效

时间:2013-06-11 11:09:02

标签: javascript html iframe

我想使用PHP使用iFrame概念上传文件和idno。我在项目中使用了这段代码。

仅此代码工作正常。该文件正在上传。但是当它出现在我的项目中时,它无法正常工作。它显示

  

未定义的索引myfile

(我总是在Firefox浏览器中测试。)

即使是额外的参数idno也没有发送......

但是在同一页面中,HTML5 Drag and Drop正在运行。

任何帮助?

这是我的代码:

<form method="post" action="Nupload.php" enctype="multipart/form-data" class="manual" id="upload_form" target="upload_target">or
<input type="file" name="myfile" id="myfile" style="display:none" onchange="javascript:getReady();" />
<label for="file">select files from your computer...</label>
<input type="hidden" name="idno" value="2013456" />
<iframe src="Nupload.php" name="upload_target" id="upload_target" style="display:none;">    
</iframe>
</form>

脚本:

function getReady()
{
document.getElementById("upload_target").onload = uploadDone();
document.getElementById("upload_form").submit();
}

function uploadDone()
{
var content="";
var iframeId=document.getElementById("upload_target");
if (iframeId.contentDocument) {
content = iframeId.contentDocument.body.innerHTML;
} else if (iframeId.contentWindow) {
content = iframeId.contentWindow.document.body.innerHTML;
} else if (iframeId.document) {
content = iframeId.document.body.innerHTML;
}
alert(content)
}

upload.php的

if( isset($_FILES["myfile"]) )
{
    $target = basename($_FILES["myfile"]["name"]);

    if(move_uploaded_file($_FILES["myfile"]["tmp_name"],"./temp/".$target))
    {
        $res = array("success"=>true,"file_name"=>$_FILES["myfile"]["name"],"size"=>$_FILES["myfile"]["size"]);
    }
    else
        $res = array("success"=>false,"desc"=>"no");
    echo json_encode($res);
}

0 个答案:

没有答案