2011-02-06 5 views
0

여러 Ajax.InPlaceEditor 필드가있는 페이지가 있습니다. 일부는 단일 행 (텍스트 입력 상자)이고, 일부는 여러 행 (텍스트 영역)입니다.Return 키를 눌러 제출하는 Ajax.InPlaceEditor를 중지하는 방법은 무엇입니까?

사용자가 무언가를 한 줄 상자에 입력하고 Enter 키를 누르면 양식이 전송됩니다. 나는 이것이 일어나기를 원하지 않는다. 나는 가능한 모든 경우 sumitOnBlur: true을 유지하고 싶은

new Ajax.InPlaceEditor(
    'headline', 
    '../scripts/save.php', 
    { 
     submitOnBlur:true, 
     rows:1, 
     okControl:false, 
     cancelControl:false, 
     highlightColor:'transparent', 
     highlightEndColor:'transparent', 
     savingText: 'Saving...' 
    } 
); 

: 여기

내 Ajax.InplaceEditor 코드의 샘플입니다.

+0

jQuery와 Prototypejs를 함께 사용 하시겠습니까? $ bound는 얼마입니까? jQuery 또는 프로토 타입의 getByID 메소드? – BGerrissen

+0

예 둘 다 사용하고 있습니다. 또한 Fancybox는 더 복잡한 작업을 수행합니다. IIRC $는 Fancybox에 묶여 있습니다. –

답변

1

양식이 키 누르기 이벤트에 의해 제출 중입니다. 양식을 제출하지 않아야하는 입력란에 표시하지 않는 것이 좋습니다.

$('form#form_id input').keypress(function (e) { 
    // Prevent form from submitting on enter key press 
    if (e.keyCode == 13) { // ENTER 
    e.preventDefault(); 
    } 
}); 
관련 문제