2012-10-24 2 views
-1

일부 날짜를 입력하는 양식이 있습니다. Cold Fusion을 사용하고 있지만, 여기서는 "향상된"CF 태그가 아닌 양식과 입력 태그 만 사용하고 있습니다. 사용자는 자바 스크립트 캘린더에서만이 날짜를 선택할 수 있습니다. 달력이 잘 작동하고 날짜가 채워지는데 자바 스크립트 함수 "validx"가 작동하지만 onchange는이 데이터 입력 메소드로 시작되지 않습니다.Onchange가 Javascript 엔트리와 함께 작동하지 않습니다.

<input 
    type  = "text" 
    id  = "#colid#" 
    class = "calendarSelectDate" {this fires the calendar}    
    name  = "#col#" 
    readonly       
    onclick = "tooltip(#i#)" 
    onchange = "validx(#i#, #top#, '#thecase#', '#themsg#')" 
    value = "#sv#" > 

내가 할 수있는 일을 onblur,하지만 정말 onchange 선호합니다. 누구든지이 일을 할 수있는 방법이 있습니까? 감사.

답변

2

나는 당신이 onchange의 목적을 오해하고 있다고 생각합니다. 이 이벤트는이 변경된 후 체크 박스를 흐리게하면 시작됩니다. 정의에 의해 흐림 효과가 필요합니다. 아마도 onkeyup 또는 키 누르기와 관련된 유사한 이벤트를 조사해야 할 것입니다.

+0

괜찮 았어. 그래서 자바 스크립트 달력을 사용하여 변경 한 다음 다음 데이터 입력 필드로 이동하여 onblur를 만듭니다. onchange는 발사하지 않습니다. –

+0

아마 JavaScript 커밋이 변경 사항으로 간주되지 않는 텍스트 상자의 값을 직접 수정하기 때문일 수 있습니다. 그것은 객체의'click()'메소드를 호출하는 것이'onclick' 이벤트 핸들러를 트리거하지 않는 것과 같습니다. 나는 당신이 사용하고있는 "JavaScript Calendar"가 무엇인지 모르지만, 사용자가 날짜를 선택할 때 발생하는 커스텀 이벤트를 가져야한다. 'validx' 함수를 그 이벤트에 붙이십시오. 예를 들어, jQuery UI datepicker에는 onselect 메소드가 있습니다. http://api.jqueryui.com/datepicker/#option-onSelect –

+0

감사합니다. 당신은 그것을 아주 잘 설명했습니다. js 코드에는 이벤트 리스너가 있습니다. 그런 식으로 시도 할 것입니다. –

관련 문제