2016-10-19 6 views
0

제 논리에 문제가 있음을 알고 있습니다. 내 JS 파일의 스 니펫은 다음과 같습니다.jQuery에서 함수 내에서 함수 호출하기

$("#sign").submit(function() { 
     if (SIGN === IN) 
      signin_account($("#username").val(), $("#password").val()); 
     else 
      $("#sign").submit(); 
}); 

제발 도와주세요. 설정은 동적 인 양식이 있으며 로그인 또는 가입 양식이 될 수 있습니다. SIGN 값은 양식이 가입 또는 로그인인지 여부를 알려줍니다. 로그인 양식 인 경우 signn_account() 함수를 통해 계정 세부 사항을 먼저 확인합니다. 가입 양식 인 경우 양식을 제출하게됩니다.

내가 원하는 것은 submit() 이벤트가 호출 될 때 입력 오류 (잘못된 비밀번호, 사용자 이름 없음 등)를 먼저 확인합니다. 자, 오류가 없다면 이 실제로 submit() 이벤트를 호출하는 스크립트 (php, cgi 등)에 양식을 제출할 예정입니다.

로그인 양식과 가입 양식을 처리하는 스크립트가 다릅니다.

저는 JS에 처음 들어 왔습니다.

+0

여기에 무슨 문제가 있습니까? –

+0

IN 변수는 무엇을 저장합니까? 또는 문자열 값입니까? – gkb

+0

내 문제는 하나의 이벤트 처리기 내에서 이벤트 (submit())를 호출한다는 것입니다. 따라서 "최대 스택 크기 초과"오류가 발생합니다. –

답변

0

else 블록의 $("#sign").submit();은 충돌입니다. SIGN의 값이 IN이 아니면 무한 루프가 발생합니다. $("#sign").submit();이 함수를 다시 호출합니다. else 블록에 대해 다른 기능을 시도해야합니다.

관련 문제