2012-10-28 77 views
-1

我有一個兩難困境這裏即時通訊使用的if else一個Ajax功能我有這樣的代碼如何在ajax函數中添加上傳圖像函數?

function submitForm() { 

    offset = jQuery('#email').offset(); 
    xTop = offset.top - $(window).height()/2 ; 
    posLeft = offset.left - ($(window).width()-765)/2 ; 
    posTop = offset.top; 
    params = jQuery('#registration-form').serialize(); 
    lytebox.show({message:'Please wait...', align: 'center', closeButton: false}); 
    jQuery.post('ajax/register', params + '&registered=' + isRegistered, function(data) { 
      data = eval('(' + data + ')'); 
      if(data.error) { 
        lytebox.close(); 
        $('#errorHolder').remove(); 
        error = data.remarks; 
        error +='<img src="images/ttip-arrow.png" id="ttip-arrow"/></div>'; 
        var wrapper  = $('.wrapper'); 
        var errorHolder = $('<div id="errorHolder">') 
                 .html(error).appendTo(wrapper);; 

        errorHolder.css({ 
                  'left':posLeft, 
                  'top':posTop-$('#errorHolder').outerHeight() 
               }) 
             .delay(5500) 
             .fadeOut(1000); 

        //$("html, body").animate({scrollTop : xTop},800,function(){me.focus()}); 
        FB.Canvas.scrollTo(0,posTop-100); 
        jQuery('#email').focus(); 
      } else {  
        lytebox.close(); 

        //how can i add upload image here and send email function with attach image 
        $('.notification').remove(); 
        $('#errorHolder').remove(); 
        $('#registration-form').fadeOut(300); 
        $('.get-started').fadeIn(300); 
        $('.show-thank-you-register').fadeIn(300); 


      } 
    }); 

}

我想補充上傳圖片功能和電子郵件的其他部分發送函數內..請幫忙做我

回答

0

有一個序列化常量用於序列化表單數據。 http://api.jquery.com/serialize/

以下元素不適合序列化。

<input type="file"/> 

因此它不能被包含在jQuery('#registration-form')。serialize();方法。

所以你不能使用圖像字節序列化來提交圖像數據到服務器。

或者,您可以通過ajax post調用uploadify控件來上傳圖片。有關更多信息,請訪問以下網址

http://www.uploadify.com/demos/

編輯

上傳圖像第一uplodify已經完成,並sucessfult 的onComplete事件告訴上傳,現在您保存基於表單的其餘部分您的業​​務需求。

+0

那麼我該怎麼做呢?首先上傳圖片? –

+0

正確上傳您的圖片,請參閱編輯。 – bijayk