2012-01-30 2 views
1

텍스트 상자의 주소가 변경되면 Google지도에 마커를 배치하는 asp.net 프로그램이 있습니다. 이 자바 스크립트는 'onchange'이벤트에 의해 트리거됩니다. 그러나 나는 사용자가 제출을 클릭하기 전에 상자 밖으로 탭하지 않으면 이벤트가 발생하지 않는다는 것을 알았다. 이 문제를 해결할 수있는 방법이 있습니까?ASP.NET : onchange 이벤트가 발생하지 않았습니다.

+0

때 귀하의 코멘트 다음

, 당신은 그 양식을 제출하기 전에 텍스트 상자의 현재 상태를 비교하는 것, 폼에 이벤트를 추가 제출해야한다 ... 그런 경우가 생각하지 않습니다 너는 해고 당했어? 모든 사용자가 클릭? – Aristos

+0

나는 텍스트가 변경되었을 때 발동하기를 원한다. 대부분의 경우 올바르게 작동한다. 문제는 사용자가 텍스트를 변경하고 즉시 상자를 클릭하지 않고 제출 버튼을 클릭 할 때 발생한다. 발사를 건너 뛰는 것 같다. 행사. – SHeinema

+0

아마 onblur을 시도해보십시오. 다른 하나가 실패 할 때 가끔씩 성공한 경우가 있습니다. – mikey

답변

1

나는 당신이 성취하고자하는 것이 불가능하다고 생각합니다. onchange 이벤트는 요소에 집중하지 못하는 경우에만 발생합니다. onkeypress, onkeydown 또는 onkeyup을 사용하면 변경 사항을 더 빠르게 얻을 수 있습니다. 여기서 문제는 텍스트 상자의 값이 외부 요소의 클릭에 의해 변경되므로 텍스트 상자에 직접 바인딩 할 수 없다는 것입니다.

클릭 가능한 요소가 무엇인지 정확히 아는 경우 클릭 이벤트를 각 요소에 추가하여 텍스트 상자의 현재 값을 가장 최근의 알려진 값과 비교하여 테스트하는 함수를 가리키고 서로 다른 경우 네가하고 싶은게 뭐든간에. 하지만 난 ...

+0

사실 ....... 나는 클릭 가능한 elemets를 알고 있습니다. 실제로는 제출 버튼 일 뿐이므로 다른 함수에 대한 호출을 추가하여 필드가 설정되었는지 확인합니다. 그렇지 않으면 onchange fnc가 호출됩니다. 감사 (: – SHeinema

관련 문제