1

望ましい結果: 2番目のajax呼び出しは、返されたデータをdiv#co_labelのDOMに挿入する必要があります。

  • 最初のalert()には正しいデータが含まれています
  • 2番目のalert()は、2番目のajax呼び出しによって正しい情報が返されたことを示します。ただし、そのデータはDOMに挿入されません。
  • Chromeのデバッガーにコンソールエラーはありません

jQuery / Javascript:

$(document).on('click', '.mledit', function(event) {
    var company_id = this.id.split( 'editcopro_' )[1];
    $.ajax({
        type: "POST",
        url: "ajax/ax_all_ajax_fns.php",
        data: 'request=edit_company_data&company_id='+company_id,
        success:function(data){
            $('#co_label').html(data);
            var client_user_id = company_id;

            $('#co_label').dialog({
                autoOpen: true,
                height: 600,
                width: 800,
                modal: true,
                buttons: 
                    {
                        Okay: function() {
                            //Var defs for cn, cp, cw, ct, a1, etc.
                            $.ajax({
                                type: "POST",
                                url: "ajax/ax_all_ajax_fns.php",
                                data: 'request=update_edited_company_data&client_user_id='+client_user_id+'&co_name='+cn+'&co_phone1='+cp+'&co_website='+cw+'&co_city='+ct+'&co_addr1='+a1+'&co_addr2='+a2+'&co_acct_name='+an+'&co_acct_phone='+ap+'&co_acct_email='+ae+'&co_prov='+pv+'&co_pcode='+pc+'&co_country='+co+'&notes='+co_notes,
                                success: function(data) {
                                    $( '#alert' ).html( data );
                                    $( '#alert' ).dialog( 'open' );

                                    $.ajax({
                                        type: "POST",
                                        url: "ajax/ax_all_ajax_fns.php",
                                        data: 'request=update_edited_mailing_label&user_level='+user_level+'&user_id=' + user_id+'&user_type=' + user_type,
                                        success:function(data){
                                            $('#label_top').html(data);
                                        }
                                    });
                                } //End success
                            }); //End ajax[update_edited_company_data]
                            $( this ).dialog( "close" );
                        },
                        Cancel: function() {
                            $( this ).dialog( "close" );
                            window.location = '';
                        }
                    }
            })
        }
    });
});

アップデート:

私はこれに気づきました:Chrome DeveloperやFirebugを見ると、JQueryUI dlgが閉じた後、ドキュメントから#co_labelDIV全体が欠落しています。この行の間で何かが起こっているようです:

$('#co_label').html(data);

そしてこの行:

$('#co_label').dialog({
4

1 に答える 1

1

.html(data) を使用する代わりに、.val(data) をそのまま使用してみましたか:

 $('#co_label').val(data);

API ドキュメントには、問題ではない XML を扱う場合は .html() を使用できないと記載されていますが、以前に .html を使用すると問題が発生し、代わりに .val を使用しました。HTML 形式以外のデータを空の ID に挿入するだけの場合は、.val() が機能するはずです。

于 2012-11-09T21:19:35.260 に答える