2012-08-08 5 views
1

사용자 홈페이지를 수집하는 기본 양식을 사용하고 있습니다. 제출 버튼은 없지만 모달 상자를 시작하는 앵커 링크가 있습니다. 사용자가 양식 이메일 입력에 채워지면변경 양식 제출 동작 변경

(이메일이 모달 컨텐츠에 사용되는 사용자가 입력 한 주소), 자연 본능 입력하거나 "제출"링크를 클릭 누르는 것입니다. 제출 링크는 모달을 시작하면 훌륭하게 작동하지만 입력을 누르면 양식이 제출되고 제출됩니다. 사용자가 양식을 제출하지 말고 앵커 링크를 눌러 모달을 시작하십시오.

할 수있는 방법이 있나요 : 양식을 제출 대 모달를 시작하는 입력의 기본 동작을 변경

A)는?

또는

B)이이 양식을 제출에서 버튼을 입력하고 앵커 링크를 클릭하는 사용자를 강제로 해제?

<a href="#newsForm" rel="leanModal" class="submitModal">Submit</a> 

<div id="#newsForm">Modal content here</div> 

참고 : 모달이 호환되지 않기 때문에 나는이 "모달 실행"으로 입력을 제출 사용할 수 없습니다 내가 매우 간단 leanmodal, 아래의 구문을 사용하고


입력. 하여 양식을 제출에서 버튼을 입력

$(function(){ 
    $(document).on('keyup', function(e) { 
     var code = (e.keyCode ? e.keyCode : e.which); 
     if(code == 13) { //Enter keycode 
      //If user press enter will open the modal 
      $('.submitModal').click(); 
     } 
    }); 
});​ 

B)가 비활성화를 클릭하는 사용자를 강제로 :

답변

0

A)는 양식을 제출 대 모달를 시작하는 입력의 기본 동작을 변경 앵커 링크.

$(function(){ 
    $(document).on('keyup', function(e) { 
     var code = (e.keyCode ? e.keyCode : e.which); 
     if(code == 13) { //Enter keycode 
      //Stop the "submit", nothing will happen when user press enter 
      e.preventDefault(); 
     } 
    }); 
});​ 

C) 또 다른 대안이를 수행하여 당신이 할 수있는 "무시"를 submit(); 기능 :

$(function() { 
    $('#newsForm').submit(function(e) { 
     $('.submitModal').click(); 
     e.preventDefault(); 
    }); 
}); 
+0

A & C는 큰 소리를 모두 옵션; 내 이메일을 입력하고 Enter 키를 눌러도 양식을 제출하고 모달을 시작하지는 않습니다. 당신은 맨 바닥 글에 터치 영역의 숙박 여기에 그것을 밖으로 시도 할 수 있습니다 : http://bajdesign.com/foundationsource/get-started/ – JCHASE11

+0

는 옵션 C는 옵션 A와 동일하지 말아야 할 - 그것에서 preventDefault과 제출을 비활성화 , 그리고 클릭으로 모달을 시작 ??? 그것은 일어나야 만하는 것이지만 그렇지 않습니다. – JCHASE11

+0

자, 한번 보도록하겠습니다 :-) –

1

차라리 같은 것을 권 해드립니다.

$(function() { 
    $('#newsForm').submit(function(jqEvt) { 
     jqEvt.preventDefault(); 
     $('.submitModal').click(); 
    }); 
}); 
+0

@ OscarJara의 대답에 대한 옵션 C와 같습니다. Enter 키를 눌러도 양식을 제출하고 아무런 조치가 없으므로 사용자를 페이지 맨 위로 가져옵니다 .... – JCHASE11

+1

@ JCHASE11 Oscar Jara가 옵션 C를 포함하도록 업데이트하기 전에 답을 게시했는지 고려하십시오. – Kiruse