如何在joomla模块中通过javascript发送输入文件类型
Posted
技术标签:
【中文标题】如何在joomla模块中通过javascript发送输入文件类型【英文标题】:how to send a input file type via javascript in joomla modules 【发布时间】:2014-01-06 18:10:10 【问题描述】:我想将带有 javascript 的文件发送到 php 文件。 我的 php 文件中有这个表单
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file1"><br>
<p id="poi">upload</p>
<p id="plo"></p>
</form>
把这段代码放在js文件里
jQuery(document).on("click","#poi",function()
var objfile=new FormData();
var file=jQuery("#file1").get(0).files[0];
objfile.append("iefile078",file);
var ajax ;
ajax.upload.addEventListener("progress" ,progresshandler ,false);
function progresshandler()
jQuery("#plo").text("uploading ....");
ajax.open("POST","helper.php");
ajax.send(objfile);
);
当我点击页面上的“上传”时,此功能正确触发。 我想在上传进行时向用户显示“正在上传....”。 另外我想将此文件发送到 helper.php 文件。 在这种情况下,如何设置 open() 和 send() 函数的属性以传递上传到 helper.php 的文件? 这是我的文件结构和我在 default.php 中的表单位置
js
jquery.js
tmpl
default.php
helper.php
mod_upload.php
mod_upload.xml
【问题讨论】:
您不能对模块文件、所需的组件控制器文件或外部文件进行 ajax 调用。 你能告诉我更多吗? 你需要了解组件***.com/questions/19029807/…的基本结构,模块是最小的单元,它没有任何任务(表单提交或ajax调用)。检查示例并根据该示例调用您的 ajax。 也可以查看***.com/questions/20853947/… 【参考方案1】:试试这个:
$(document).on("click","#poi", function(e)
e.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax(
url: 'helper.php',
type: 'POST',
data: formData,
async: false,
beforeSend: function()
$("#message1").show().html("uploading...");
,
success: function(data)
$("#message1").fadeOut();
$("#container").html(data);
,
cache: false,
contentType: false,
processData: false
);
);
【讨论】:
我的代码和你的代码没有区别。唯一的区别是你使用 jquery 而我使用 javascript。当我们使用定义('_JEXEC')或死('限制访问')时;在我们的文件中,我们无法直接访问 joomla 中的目录。我的问题是如何将上传的文件从一个文件发送到另一个文件,而我无法直接访问 joomla 中的文件。 请通过添加您在此处评论的内容来明确您的问题...以便其他人可以帮助您。抱歉,我不知道 jhoomla :) 谢谢你的回答。我的代码在没有 joomla 的情况下可以正常工作。但是当我想在 joomla 中使用它时不起作用。无论如何谢谢你的回答 @susheel 在 Joomla 中这不起作用朋友,在 Joomla 模块中无法直接访问帮助文件。以上是关于如何在joomla模块中通过javascript发送输入文件类型的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JavaScript 中通过 XPATH 获取元素?
如何在 Joomla“Articles-Newsflash”模块中取消链接图像
我将如何在 Javascript 中通过 WebSocket 发送和接收数据包