当前位置: 代码迷 >> JavaScript >> ~window.onload不执行?奇了怪了!该如何解决
  详细解决方案

~window.onload不执行?奇了怪了!该如何解决

热度:932   发布时间:2013-11-19 22:55:29.0
~~~~~~~~~~window.onload不执行?奇了怪了!~~~~~~~~~~~~


$(document).ready(function() {  
    alert("aaaaaaaaaaa");
    SWFUploadInit();        //初始化Flash上传组件
});

window.onload=function(){
  alert("bbbbbbbb");
}

function SWFUploadInit(){
    var kbid = $("#hidKbId").val();        
    var settings = {
        flash_url: "/js/swfupload/swfupload.swf",
        upload_url: "KB_EditNew.aspx?act=swfupload&attachcat=KB&kbid="+kbid, 
        post_params: { "PHPSESSID": "" },
        file_size_limit: "1024 MB",
        file_types: "*.*",
        file_types_description: "All Files",
        file_upload_limit: 100,
        file_queue_limit: 0,
        custom_settings: {
            progressTarget: "fsUploadProgress"
            //cancelButtonId: "btnCancel"
        },
        debug: false,

        // Button settings
        button_image_url: "/js/swfupload/btn_attach.png",
        button_width: "85",
        button_height: "28",
        button_placeholder_id: "spanButtonPlaceHolder",
        //button_text: '<a class=""></a>',
        //button_text_style: ".theFont { cursor: pointer; }",
        button_text_left_padding: 12,
        button_text_top_padding: 3,

        // The event handler functions are defined in handlers.js
        file_queued_handler: fileQueued,
        file_queue_error_handler: fileQueueError,
        file_dialog_complete_handler: fileDialogComplete,
        upload_start_handler: uploadStart,
        upload_progress_handler: uploadProgress,
        upload_error_handler: uploadError,
        upload_success_handler: uploadSuccess20,
        queue_complete_handler: queueComplete // Queue plugin event                
    };
    swfu = new SWFUpload(settings);    

}


第一次打开本页面,弹出"aaaaaaaaa",但没有弹出"bbbbbbbbbb", 本页面上点swfupload上传附件OK,然后再点上传附件,并为弹出"aaaaaaaaaa",也没有去取$("#hidKbId").val()的值,但上传也OK。

我想要每次点击上传附件的时候取$("#hidKbId").val(),请问有解决方法吗?

ajax swfupload

------解决方案--------------------
弹出aaaaaaaaa说明已经执行过SWFUploadInit(); 也就是执行过var kbid = $("#hidKbId").val()这句代码获取值了

window.onload不执行应该是出现了其他js错误导致没有执行到windw.onload=语句上附加事件,确认你就这些js代码?
------解决方案--------------------
首先你吧 
 SWFUploadInit();  注释掉
看看 onload执行不

另外我以前貌似碰见过 在加载页面时 加载的资源又引用了外部资源 可能会不触发onload事件

你想要每次点击上传附件的时候取$("#hidKbId").val(),
可以看api文档啊

配置中
upload_start_handler: uploadStart,  //这个是上传前触发的事件

那么假定你的uploadStart方法这样写
function uploadStart(){
   swfu.addPostParam ( 'kbid', $("#hidKbId").val());  //在上传前 添加一个提交参数
}



  相关解决方案