2013-06-06 2 views
0

오전 jQueryMobile (jQM 1.2.1) 및 PhoneGap (cordova-2.7.0)에서 작업 중입니다. 이제 Preloader에 문제가 있습니다. 여기 Page1의 제출 버튼을 클릭하면 서버에 보내는 API가 있습니다. Pagebforeload of Page2 결과 우리는 결과를 수집하고 HTML로 가져 오기위한 배열로 전달합니다. Page 2 Preloader를 숨겨야합니다. 하지만 문제는 단추를 클릭 할 때로드가 작동하지 않습니다.이벤트 발생시 PreLoader가 작동하지 않습니다.

먼저 jQM 기본 Preloader로 확인합니다. 그러나 실패 할 때. 그래서 프리 로더를 수동으로 생성하고 버튼 클릭 할 때 호출합니다.

function showLoading() 
{ 
    $("body").append("<div id='overlay'></div> < img src = 'images/loading.gif' id = 'loader_image'/> "); 
} 

여기에는 버튼 클릭 이벤트 코드가 표시됩니다.

$("#submit_booking_step_one").live('click', function(event) { 

    // $.mobile.loading('show'); 
    showLoading(); 
    var Valresult = searchValidation() 
    if (Valresult == true) 
    { 
     var json = 1; 
     var age_driver = $('#age').val(); 
     var car_group = $('#car_group_list').val(); 
     var cmpapi = 'http://www.sampleurl.com/json/get.php?json=' + json + '&age_driver=' + age_driver''; 
       ajaxForCmpList(cmpapi); 
     //showLoading(); 
     $.mobile.changePage("#mobile_page_list_bookacar", {reverse: false, changeHash: true}); 
     event.preventDefault(); 
    } 
}); 

거기에 대한 해결책이 있습니까?

+0

이'$ ("#의 submit_booking_step_one")를 대체합니다. 살 (이 '$ (document) .on ('click ', "#submit_booking_step_one", function (event) {' – Omar

답변

0

는 ...이 스크립트를 호출 할

대신 showLoading의
$(".ui-loader").show(); 

() 함수를 사용해보십시오. 여기

DEMO ... http://jsfiddle.net/yeyene/CVv2q/1/

또한이 이벤트에 변경 ...

$("#submit_booking_step_one").on('vclick', function(e){ 
    // your scripts 
}); 

JQUERY

$('#submit_bkg').on('vclick', function(e){ 
    $(".ui-loader").show(); // onsubmit, show loading 

    e.preventDefault(); 
    location.hash = "submitted_booking"; // another page 

    $.ajax({ 
     type: 'POST', 
     url: 'get_data_source.php?qtype=new_booking', 
     data: serialized, 
     dataType: "json", 
     success: function(data) { 

      // your scripts for after successful submit 

      $(".ui-loader").hide(); // hide loading back 
     } 
    }); 
}); 
+0

코드로 확인 했으니 까,'클릭 ', function (event) {' 단추 누르기의 시간 : (그것의 onl 다음 페이지로드시에 wrks가 발생합니다. showLoading()을 사용하면이 같은 오류가 발생합니다 !!! –

+0

나는 어떤 페이지도로드하지 않았다. 단지 btn1 onclick 이벤트를로드하는 것을 보여주고 btn2 click 이벤트에서 다시로드하는 것을 숨기고있다. – yeyene

+0

그래 ..하지만 내가 필요해. 제출 단추를 클릭하고 다음 페이지에 숨길 때 작동합니다.로드 !!! 하지만 이제는 다음 번 페이지 쇼 이후에만 표시됩니다. (여기서는 Hide 메서드를 주석 처리합니다. 그렇지 않으면 Preloader가 표시되지 않습니다.) –

관련 문제