-1

私はここにジレマがあります私はif elseを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);


            }
    });

}

else部分に画像アップロード機能とメール送信機能を追加したいのですが、助けてください

4

1 に答える 1

0

フォームデータをシリアル化するためのシリアル化定数があります。 http://api.jquery.com/serialize/

次の要素は、シリアル化の適切な候補ではありません。

<input type="file"/> 

したがって、jQuery('#registration-form').serialize(); に含めることはできません。方法。

そのため、画像バイトのシリアル化を使用して画像データをサーバーに送信することはできません。

オプションで、コントロールをアップロードして ajax post 呼び出しで画像をアップロードすることもできます。詳細については、次の URL を参照してください。

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

編集

最初に画像をアップロードする uplodifyには、アップロードが完了して成功したことを通知するonCompleteイベントがあり、ビジネス要件に基づいてフォームの残りを保存します。

于 2012-10-28T15:13:30.610 に答える