2012-07-26 3 views
0

웹 응용 프로그램의 로그인 페이지에서 확인란이 있습니다. 사용자 이름/암호를 입력 한 후 사용자가 확인란 (T & C)을 선택하지 않으면 홈 페이지로 연결하면 안되며 경고 오류 메시지가 표시됩니다.Javascript - 경고 메시지 처리 후 작업 중지

다음 코드를 시도했습니다. 하지만 작동하지 않습니다. 즉, 경고 메시지가 표시됩니다. 그러나 사용자는 다음 페이지 (홈 페이지)로 이동합니다. 나는 거짓을 돌려 보았지만 운은 없었다.

누구든지 해결 방법을 말할 수 있습니까?

function doSubmit() { 
    var checkbox = document.getElementById("terms"); 
    if (!checkbox.checked) { 
     alert("error message here!"); 
     return; 
    } 
    document.getElementById("f").submit(); 
}​ 

난 당신이 양식을 제출하기 전에, 당신이 체크되어 있지 않은 경우, 제출에서에서 방지의 checkbox의 상태를 확인해야합니다

<input id="proceed" onclick="doSubmit()" type="submit" value="${fn:escapeXml(submit_label)}" /> 
+2

어떻게 doSubmit()을 호출합니까? – bugwheels94

+0

@ user1351052 submit 이벤트, 버튼 클릭 이벤트, 다른 임의의 호출에서'doSubmit '이 호출 되었습니까? – Musa

답변

1

에 입력 유형을 변경 시도를대신을 제출하고 제출 작업을 JS 함수에 위임합니다.

<input id="proceed" onclick="doSubmit()" type="button" value="${fn:escapeXml(submit_label)}" /> 
+0

확인 된 (긍정적 인 시나리오) 및 체크되지 않은 (부정적인 시나리오) 확인란 모두에 대해 다음 페이지가 표시되지 않습니다. ( – user1514499

+0

양식의'id' 속성을 "f"로 설정 했습니까? – jelies

0

에서 doSubmit를 호출하고 있습니다. jQuery에서 다음 코드가 트릭을 수행합니다.

$(form).submit(function(e){ 
    if($(this).find("#terms").is('checked')){ 
     e.preventDefault(); 
     alert('error messge goes here'); 
    } 
} 
2

대신 입력에 onclick를 사용하는 형태로 태그에 아래 사용해보십시오 :

onsubmit="return doSubmit()" 

그리고 JS 기능과 같은 :

function doSubmit() { 
    var checkbox = document.getElementById("terms"); 
    if (!checkbox.checked) { 
     alert("error message here!"); 
     return false; 
    } 
}