2012-04-03 5 views
2

AJAX를 통해 제출 된 간단한 양식의 POST 양식을 작성했습니다 (기본 구성, 아무것도 변경하지 않았습니다). 사용자가 잘못된 데이터를 제출하면 다음 페이지가로드됩니다.jQuery Mobile에서 오류를 표시하는 표준 방법은 무엇입니까

<div data-role="page" id="main_mobile_page"> 

    <div data-role="header" data-id="fixed_header" data-position="fixed"> 
     ... 
    </div> 

    <div data-role="content"> 
     ...display:none DIV with the text of error... 
     ...sign in form... 
    </div> 

    <div data-role="footer" data-id="fixed_footer" data-position="fixed"> 
     ... 
    </div> 

</div> 

오류가있는 팝업을 표시하는 가장 쉬운 방법은 무엇입니까? 나는 native jQuery Mobile 다이얼로그 (에러 텍스트를 가지고있는 별도의 "페이지"를 생성하고 그것을 변환 한 것)와 SimpleDialog와 같은 플러그인을 포함한 많은 구현을 시도했다. 구현의 모든 문제가, 일반적인 문제는 다음과 같습니다 당신이 (잘 작동하지 않습니다 즉, 데이터 확인해 = "뒤로") 대화 상자에서 "확인"버튼을 클릭하면 임의

  • 일이 발생합니다. POST를 통해 양식이 제출 되었기 때문일 수 있습니다.

  • jQuery Mobile이 페이지를 AJAX로로드 할 때 가끔 AJAX를 통해 페이지를로드 할 때 가끔 이전 페이지를 숨기지 않고 여러 개의 id = "main_mobile_page"페이지가있는 HTML을 가지고 결국 오류가있는 상자를 찾을 수 없습니다.

는 jQuery를 모바일이 일을 지나치게 복잡하고 별도의 페이지로드로 처리하지 않고 단순히 오류를 표시하는 JS의 경고()의 일부 상당을 가지고 있습니까? 그렇지 않은 경우 이러한 "오류"팝업을 구현하는 표준 방법은 무엇입니까? 궁극적으로 나는 이것을 PhoneGap으로 컴파일하고 싶다. 그리고 나는이 "alert-s"를 선택하여 특정 전화 모델의 기본 "오류 팝업"으로 변환하기를 바라고있다.

+0

JS 경고 (alert)를 할 수 있습니다. – ceejayoz

답변

3

왜 전화 갭 알림을 사용하지 않으시겠습니까?

navigator.notification.alert(
    'Please try again', // BODY COPY 
    alertConfirm, // CALL BACK FUNCTION 
    'Oops something went wrong!', // TITLE 
    'OK' // BUTTON TEXT 
); 

또는

navigator.notification.confirm(
    'Please try again', // BODY COPY 
    alertConfirm, // CALL BACK FUNCTION 
    'Oops something went wrong!', // TITLE 
    'LAME, TRY AGAIN' // BUTTON TEXT 
); 

당신이 콜백 역할을하는 기능이 있어야합니다 - 당신은 확인을 할 경우 클릭 한 어떤 버튼을보고 그 기반으로 작업을 수행 확인할 수 있습니다.

function alertConfirm(b){ 
    if(b == 1){ 
    // BUTTON 1 WAS CLICKED 
    } 
    else { 
    // BUTTON 2 WAS CLICKED 
    } 
} 
+0

고마워, 그게 내가 필요한 것 같아! – Eugene

관련 문제