2013-03-08 96 views
0

我試圖使用ajax上傳圖像。這裏是我的代碼ajaxupload el is undefined

$(function() { 
    var btnUpload = $('#post_pd_thumnail'); 


    if ($("#id").val()) var post_id = $("#id").val(); 
    else var post_id = 0; 

    new AjaxUpload(btnUpload, { 
     action: site_root_domain + "/product/upload_image/" + post_id, 
     name: 'file_upload', 
     onSubmit: function (file, ext) { 
      if ($('#post_pd_thumnail').val() != '') { 
       if (!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { 
        jAlert(lang_error_upload_avatar, lang_alert_notice); 
        return false; 
       } 
      } 

      $('#preview').html('<img style="margin-left:45px;margin-top:45px;" border="0" width="16" height="11" src="' + site_root_domain + '/templates/images/icons/loading_2.gif" />'); 
     }, 
     onComplete: function (file, response) { 

      if (!response) { 
       jAlert(lang_error_upload_avatar, lang_alert_notice); 
      } else { 
       img_upload = 1; 
       $('#preview').html(response); 
      } 

      return; 
     } 
    }); 

}); 

而我的HTML是:

<div id="preview">{$preview}</div> 
<div class="fileupload"> 
    <input type="file" name="post_pd_thumnail" id="post_pd_thumnail" value="" /> 
</div> 
<input type="hidden" name="id" id="id" value="{$data['product']['post_id']}" /> 

,當上傳圖片「厄爾尼諾是不確定的」,功能無法正常工作誰能幫我解決這個問題,我得到這個錯誤請

+1

el在哪裏? – Hkachhia 2013-03-08 07:21:13

+0

'el'可能是'else',中間有一個空格或者一些變量。但是,這些都不在您的代碼片段中可見。 – 2013-03-08 07:22:47

+0

的EL處於發生在這行代碼錯誤的jquery_ajaxupload.js: 'code' /** * 事件上連接到DOM元素 */ 功能的addEvent(EL,類型,FN){ \t if(w.addEventListener){el.addEventListener(type,fn,false);}如果(w.addEventListener){ \t \t el.addEventListener \t}否則如果(w.attachEvent){ \t \t變種F =函數(){ \t \t fn.call(EL,w.event); \t \t}; \t \t \t \t \t el.attachEvent( 'ON' +型,F) \t} }'code' – 2013-03-08 07:23:32

回答

0

嘗試改變file elementbutton一樣,

<div class="fileupload"> 
    <input type="button" name="post_pd_thumnail" id="post_pd_thumnail" value="" /> 
</div> 
0

這是解決方案。

* Attaches event to a dom element 
*/ 
function addEvent(el, type, fn){ 

    // 610 BUG 
    if (el == undefined) return; 

    if (w.addEventListener){ 
     el.addEventListener(type, fn, false); 
    } else if (w.attachEvent){ 
     var f = function(){ 
      fn.call(el, w.event); 
     };   
     el.attachEvent('on' + type, f) 
    } 
}