在javascript中调用另一个函数是不行的

时间:2013-10-10 08:19:15

标签: javascript jquery delegates

我想在另一个函数中调用一些函数

var LoadSender = function($table, $prefix) {
    if($('#'+$prefix+'_sender_profile').val()) {   
        $.ajax({
            url: "/"+path[1]+"/ajax/sender.json?sender_profile="+$('#'+$prefix+'_sender_profile').val(),
            datatype: "json",
            success: function(data){    
                $('#form_custom__logo').html('<img src="'+data['logo']+'" />');
                $('#'+$table+'__sender_department').text(data['department']);
                $('#'+$table+'__sender_telefon').text("Telefon: "+data['telefon']);
                $('#'+$table+'__sender_fax').text("Fax: "+data['fax']);
                $('#'+$table+'__sender_email').text("EMail: "+data['email']);
                $('#'+$table+'__sender_address_post_city').text(data['address_postcode']+" "+data['address_city']);
                $('#'+$table+'__sender_address_country').text(data['address_province']+", "+data['address_country']);
                //CKEDITOR.instances.i2l_letter_signature.setData(data['signature']);
            }
        });
    } else {
        //CKEDITOR.instances.i2l_letter_signature.setData('');
    }
}

...
...

$(document).ready(function(){
    $('body').delegate(".test-btn", "click", function() {

        fillin_nosubmit('invoice');
        LoadReceiver('i2l_facture_documents','no_table');
        LoadSender('i2l_facture_documents','no_table');
        LoadCatsFormbyType('no_table');
        LoadReceiver('i2l_facture_documents','no_table');
        LoadSender('i2l_facture_documents','no_table');
        LoadCatsFormbyType('no_table');
    });
});

fillin_nosubmit('invoice')设置no_table_sender_profile的值,然后其他字段加载数据。 设置值工作正常,这意味着fillin_nosubmit已成功执行,但其他功能没有!

奇怪的是,我尝试通过在no_table_sender_profile中设置提醒状态来提示LoadSender()的值,并返回空值或None

但是当我再次点击test-btn时,它可以工作......但我只想点击它一次!

另一件事,当我尝试将外部函数的代码放在委托语句中时,它工作正常......但我不想重复相同的代码!

我还尝试将js file放在页面的底部,它没有帮助

我只是注意到javascript在同一时间执行所有函数,而不等待第一个函数的结果,这是真的吗?

0 个答案:

没有答案