2012-06-07 2 views
0

이것은 실제로 ASP.NET MVC와 관련이 있습니다.jQuery에서 스팬이 생성되었는지 감지하는 방법

양식이 제출되면 모델 유효성 검사가 수행됩니다. 오류가 감지되면 <span>에 오류 메시지가 표시됩니다. ($('span.field-validation-error'))을 사용하여이를 확보 할 수 있어야합니다. 그러나이 "OnCreated"를 위해 우리는 어떤 이벤트를 구속해야합니까?

나는 $('span.field-validation-error').change(function (e) {, $('span.field-validation-error').load(function (e) { 등을 시도했지만 아무도 작동하지 않았습니다.

그래서 올바른 이벤트 이름은 무엇입니까?

---- 업데이트 ----

Google의 목표는 표시된 오류 메시지를 사용자 정의하는 것입니다. 해당 <span> 태그를 만들 때 해당 태그를 편집 할 수 있으면 느낌표 아이콘을 표시하고 해당 오류 메시지를 툴팁에 넣을 수 있습니다.

+1

목표는 무엇입니까? 이 ''으로 무엇을하고 싶은지에 따라 문제를 공격 할 수있는 각도가 다를 수 있습니다. –

+0

@Blazemonger : MVC의 클라이언트 측 유효성 검사에서는 페이지가 렌더링 될 때 해당 필드가 이미 만들어져 있다고 생각합니다. –

답변

1

나는를 추측 그럴 수 :

var checkTimer = setInterval(function() { 
     if ($('span.field-validation-error').length > 0) { 
      //yay :D it exists! 
      alert("YEP"); 
      clearInterval(checkTimer); 
     } else { 
      //derp...  
      console.log("nope"); 
     } 
}, 50); 
setTimeout(function() { 
    document.body.innerHTML = "<span class='field-validation-error'>word</span>"; 
}, 5000);​ 

예 :
http://jsfiddle.net/neuroflux/Ynz5b/1/

[편집] 예 ... 그것은 지저분한, 난 싫어 타이머 간격 - 그러나 이것은 하나의 방법입니다 그것을 할 ...

[편집 2] 요소가 존재하는지 확인하기위한 참조 : http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/

+0

게시 및 지속적인 업데이트를 해주셔서 감사합니다. 그것은 최고의 솔루션으로 보인다. – Blaise

0

내가 올바르게 이해한다면 실제로하고 싶은 것은 다른 기능의 일부 코드를 마무리하고 동시에 span.field-validation-error이 DOM에 추가된다는 것입니다.

이벤트 핸들러가 없으며 DOM 노드에 대해 onLoad이 작동합니다.

+0

실망스러운 답변! 나는 희망을 파괴하기 위해 더 많은 답장을 기다릴 것이다. – Blaise

+0

이것은 사실입니다. 해결 방법이 있습니다. 내 대답을 확인하십시오 ... –

0

내가 실제로하는 일에 대해이 접근법을 권장하고 있지만 jQuery 유효성 검사기 settings.showErrors 속성에 연결하여 오류 메시지를 조작 한 다음 나중에 기본 메서드 (defaultShowErrors)를 호출하여 표시 할 수 있습니다. 그들 평소처럼.

관련 문제