Joomla 2.5动态上传文件
Joomla 2.5 upload file dynamically
我正在将Joomla 1.5组件转换为J2.5,并动态上传文件。一个iframe填充了一个表单。为了做到这一点,iframe有一个内部iframe来设置表单的目标。在收到JSON答案后,我使用内部iframe的onload
上的一个函数来擦除iframe并显示上传的图像(使用父页面的元素)。J1.5上的一切都很好,但在J2.5上,我收到了一个要下载的joomla.json
文件,而且表单似乎没有使用目标。
在外部iframe上显示表单的功能是:
function showUploadImage(evt) {
if (!document.getElementById("uploadIFrame")) {
return false;
}
var frame = document.getElementById("uploadIFrame");
var doc = frame.contentDocument;
var page;
page = "'
<html> '
<head> '
<link rel='stylesheet' href='<?php echo JRoute::_(JURI::base().'/components/com_tutorial/css/base.css',false); ?>' type='text/css' /> '
<link rel='stylesheet' href='<?php echo JRoute::_(JURI::base().'components/com_tutorial/css/upframe.css',false); ?>' type='text/css' /> '
</head> '
<body>";
page += ' '
<div id="waitimage"></div> '
<form id="fileUploadForm" method="post" enctype="multipart/form-data" action="<?php echo JRoute::_('index.php?option=com_tutorial&view=edittutorial&task=savetutimage&tmpl=json&format=json&tutId='.$this->tutId); ?>" target="uploadTarget"> '
<label class="title" for="images"><?php echo JText::_("UPLOAD IMAGE"); ?></label> '
<div class="separator25"></div> '
<div id="pageimages"> '
<div id="newimgfields"> '
<div class="controw"> '
<label class="title" for="image"><?php echo JText::_('SELECT_FILE'); ?></label><input size="35" id="image" type="file" name="image" /> '
</div> '
<div class="controw"> '
<input type="submit" onclick="document.getElementById(''waitimage'').innerHTML=''<div class = "mooloader"></div>'';" value="<?php echo JText::_('UPLOAD_IMAGE'); ?>" /> '
</div> '
</div> '
</div> '
</form> '
<iframe id="uploadTarget" name="uploadTarget" src="" style="width:0;height:0;border:0px solid #fff;"></iframe> '
';
page += "</body></html>";
// now write out the new contents
if (doc == undefined || doc == null)
doc = frame.contentWindow.document;
doc.open();
doc.write(page);
doc.close();
doc.getElementById("uploadTarget").onload = uploadDone;
}
在"加载"上执行的功能是:
function uploadDone() {
var frame = document.getElementById("uploadIFrame");
var doc = frame.contentDocument;
var innerFrame = doc.getElementById("uploadTarget");
var ret = innerFrame.contentDocument.getElementsByTagName("body")[0].innerHTML;
var data = eval("(" + JSON.decode(ret) + ")");
//var data = eval("("+ret+")");
if (data=="0"){
alert("<?php echo JText::_('ERROR_SAVE_IMAGE'); ?>");
}
else if (data=="") {
}
else {
var upImage = new Element('img',{
'class':'tutmainthumb',
'id':'tutThumb',
'src':'components/com_tutorial/helpers/image.php?img='+data
});
upImage.inject('tutImage','top');
$('uploadIFrame').dispose();
}
}
我再次提出这个问题:Joomla 2.5 ajax文件上传到该页面查看解决方案。
相关文章:
- Highcharts从csv文件动态更新图表
- 从托管的javascript文件动态加载jQuery(如果页面上不可用)
- 有没有办法将样式表或javascript文件动态添加到包含插件的TYPO3页面
- 使用 jquery 从 json 数据文件动态填充选择元素
- 使用 PHP/JS 使用上传的文件动态填充网页
- 如何使用 jQuery 基于 JSON 文件动态更改数据
- 有没有办法将 css 文件或 javascript 文件动态注入 HTML 文档的 head 标签中
- 您能否按字母顺序对从 JSON 文件动态创建的 jQuery 列表进行排序
- 如何将KML文件动态加载到谷歌地图,并进一步加载到折线
- mongodb mongoi从外部文件动态导入
- 使用SVG文件动态修改谷歌地图图标
- 从外部链接到JavaScript的文件动态加载JQuery
- 从json配置文件动态加载脚本
- 如果相同的css &Js文件动态下载多次
- 使用node.js从多个JSON文件动态生成url和页面内容
- 从外部JS文件动态读取所有变量
- 用JS从外部PHP文件动态创建内容
- 从本地xml文件动态创建列表项
- 如何从html5中的js文件动态添加Svg图像
- 从外部.js文件动态访问正在更改的变量