2013-07-02 2 views
1

저는 Django 1.5를 실행하고 Dajax/Dajaxice를 사용하여 비동기식 양식을 업데이트합니다. 이 양식은 단지 개체에 대한 설명 일뿐입니다 (텍스트 feild). 필드 값은 항상 표시되며 편집 가능한 텍스트 영역으로 표시됩니다. 양식이 렌더링 될 때 , 난 자바 스크립트와 HTML 양식에 onchange를 이벤트를 할당 :이 빈 입력을 제외한 입력의 종류와 함께 작동빈 입력에서 Jquery 이벤트가 발생하지 않습니다.

$('#form_id').change(function(event) { 
       Dajaxice.appname.description_form(Dajax.process, 
        {'form':$('#form').serialize(true), 
        'pk':$('#parent_div').attr('pk')} 
        ) 
      }); 

합니다. 텍스트 영역에 텍스트가 포함되어 있지 않으면 이벤트가 트리거되지 않은 것처럼 보입니다. 빈 입력이 이벤트를 트리거하도록 허용하려면 어떻게해야합니까?

그냥 onchange 이벤트가 아니며, 동일한 결과 (빈 입력 제외)를 사용하여 keyup() 등 다른 항목을 지정하려고했습니다.

명확화 :

없이 입력 난 '의미 의해

'(NO 자)

의 입력은 '여전히 트리거한다.

+0

아마도'.blur()'를 사용하기를 원할 것입니다. 그러면 입력이 포커스를 잃을 때마다 실행됩니다. – tymeJV

+0

실제로 변경 되었습니까? 변경 사항이없고 필드를 나가야하는 경우 변경이 실행되지 않습니다. 보내실 가치가 없다면 당신이 부르는 그 방법이 무엇이든 할 수 있습니까? "#form_id"가 실제로 "element_id"여야합니까? – epascarello

답변

0

내가 아는 한 "입력"은 사용하려는 이벤트가 아닙니다. 내가 전에 잠시이 발생 기억

$('#form_id').bind('keyup', function (e) {  
    Dajaxice.appname.description_form(Dajax.process, 
     {'form':$('#form').serialize(true), 
      'pk':$('#parent_div').attr('pk')} 
    ) 
}); 
0

하지만, 어떤 임의의 "입력" "변화"와 유사하기 때문에 당신의 문자열이 0 문자에 접근 할 때, 그것은 나쁜 결과를 생성하는 경향이 대신
이 시도의 keyup 사용 변경되었습니다.

jQuery의 .change() 함수는 null 입력에 대해 가장 간단한 형식으로 실행됩니다. 입력에 텍스트를 입력을 취소하고 다시 탭 이동에 의해,이 간단한 예를 참조하십시오 simple .change() demo

$('#search').change(function(event){alert('Changed!');}); 

을 당신이 당신의 코드에 더 많은 컨텍스트를 제공 할 수 있다면, 어쩌면 우리는 .change()가 실패하는 원인을 알아낼 수있다 .

+3

이것은 질문에 대한 대답을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). – copeg

+0

고맙습니다. 당신이 정확하게 지적했듯이, 내가 평판이 충분할 때 다른 사람들의 게시물에 대해서만 의견을 말할 수 있습니다. –

관련 문제