2013-12-18 24 views
4

我想用JavaScript發送一個文件到php文件。
我有這種形式在我的PHP文件如何通過joomla模塊中的javascript發送輸入文件類型

<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 
+0

你不能讓一個AJAX調用的模塊文件,所需的組件控制器文件或外部文件。 –

+0

你能告訴我更多嗎? – adib16

+0

你需要知道組件的基本結構http://stackoverflow.com/questions/19029807/what-is-difference-between-view-and-task-in-joomla-2-5-and-what-is-url結構/ 19032535#19032535,模塊是最小的單元,它沒有任何任務(表單提交或ajax調用)。檢查這個例子並根據這個來調用你的ajax。 –

回答

0

試試這個:

$(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 
    }); 
}); 
+0

有沒有區別beetwin我的代碼和您的代碼。單一的區別是你使用jQuery和我使用javascript.when我們使用定義('_JEXEC')或死亡('限制訪問');在我們的文件中,我們無法直接訪問joomla中的目錄。我的問題是如何將上傳的文件從一個文件發送到另一個文件,而我無法直接訪問joomla中的文件。 – adib16

+0

請通過添加您在此處評論的內容來清除您的問題...以便其他人可以幫助您。對不起,我不知道jhoomla :) –

+1

謝謝你回答我。我的代碼工作coorectly沒有joomla.but但我想在joomla中使用,不工作。任何感謝您的回答 – adib16

相關問題