2011-02-01 2 views
0

함수 호출 인 매개 변수를 전달하는 함수가 있고 setTimeout을 사용하여이 전달 된 함수 호출을 호출합니다. 이제 setTimout을 사용하여 이벤트를 발생시키는 두 가지 메소드를 시도하고 function.call()을 사용했습니다. 이 매개 변수가 전달 된 매개 변수 함수 호출이 업데이트되지 않았을 때, 이벤트를 발생시키는 데 사용중인 자바 스크립트와 업데이트 될 JavaScript가 다음과 같습니다.Javascript doesnt update

전달되는 함수는 [컨텍스트]입니다. function() {ErrorMessageFileSelect ('diverrortextchoosechannal', '선택한 파일이 크면 1MB 미만의 파일을 선택해야합니다'); }

function FileSizeOnLoad(contentLength,context) { 

    if (context != null) { 
     //  context.call(); 
     context.call(); 
    } 
    else 
    { 
     $('#inputHiddenFileSizeField').val(contentLength); 
     DisplayChoseFileInformation(contentLength); 
    } 
} 

// 업데이트가 필요한 위치입니다.이 함수는 다른 자바 스크립트 파일에 추가되었습니다.

function ErrorMessageFileSelect(className, errorMessage) { 

    $('div.' + className).text(errorMessage); 
    alert($('div.' + className).text()); 
} 



function DisplayChoseFileInformation(fileSize) { 

    var input = $('#ajaxsinglefileupload'); 
    inputValue = $(input).val(); 

    var splitFilename = inputValue.split("\\"); 
    var filename = splitFilename[splitFilename.length - 1]; 

    $("div.divfileuploadinformation").html("File chosen: '" + filename + "'"); 
    var div = $("<div/>"); 
    $("div.divfileuploadinformation").append(div); 

    if (parseInt(fileSize) < 1024) { 
     $(div).html("File Size: " + parseInt(fileSize) + " bytes"); 
    } 
    else { 

     var kb = fileSize/1024; 

     if (kb < 1024) { 
      $(div).html("File Size: " + parseInt(kb).toFixed(0) + " kb"); 
     } 
     else { 
      $(div).html("File Size: " + (parseInt(kb).toFixed(0)/1024).toFixed(0) + " mb"); 
     } 

    } 

    $(div).css("padding-left", "50px"); 
    $(div).css("display", "inline-block"); 
    $('div.divfileprogress').show() 

} 

실종 신고는 존재합니까?이 문제는 도움을주세요.

감사

+0

오 ... 내가 처음으로 알아 차린 경우 ... 사람들이 당신을 도울 필요가 있다면 Trikam 그렇지 않으면 당신을 도와주기 위해 시간을 할애하는 사람들을 존중하지 않는 것에 대해 존경하지 않을 것입니다 –

+1

오 , 미안,이 새로운 나는 알고 있지 않았다. 나를 보내 주셔서 감사합니다. – redoc01

+0

나는 정말로이 코드가 정말로 실제로 일어난다 고 생각하지 않기 때문에 당신이 당신의 포스트를 편집해야한다고 생각한다. ErrorMessageFileSelect, DisplayChosenFIleFormat ... 그들이 여기에 오는 방법은? 이게 뭐야? 자세한 내용은 –

답변

0

죄송 합니다만 즉 window.setTimeout이다 (문맥, 0)?

setTimeout에서 호출 할 수있는 실제 함수를 만들어야합니다. 아니면 단순히 귀하의 질문을 이해하지 못해서 미안합니다.

+0

입니다. 답장을 보내 주셔서 감사합니다. 이 함수는 vb.net 클래스에서 동적으로 생성됩니다. 내가 처음에 함수를 가져오고 [function Name] .call()을 사용했지만이 함수가 발생할 때 jquery/javascript가 업데이트되지 않았습니다. 좀 더 명확한가요, 나는 코드를 편집하고 [function Name] .call()을 사용합니다. – redoc01

+0

settimeout이 function_name.call()을 사용하지 않습니다 ... 전화가 없습니다. 그냥 함수. 예를 들어 window.setTimeout (alert, 1000) 이것은 어떤 인수도 전달하지 않았기 때문에 잘못되었지만 settimeout이 어떻게 작동하는지 보여 줄 수 있습니다. –

+0

전달되는 컨텍스트가 function() {ErrorMessageFileSelect ('diverrortextchoosechannal', '선택한 파일이 크면 1MB 미만의 파일을 선택해야합니다.') context.call()을 사용하여 settimeout을 잊어 버리십시오. } – redoc01