2013-06-10 2 views
0

JSFiddleJQuery와 대화 IE 문제

코드를 실행 JSFiddle 위의 링크 확인하시기 바랍니다.

IE의 JQuery Dialog에서 문제가 있습니다.

내 생각에 복수 양식 또는 divs으로 인한 것 같습니다. 나는 아래에 따라 내 코드를 가지고 :

<div> 
    <form> 
      <table> ..... </table> 

      <div id='dialog-form'> 
      <form> </form> 
      </div> 

      <div> 
       <table> .... </table> 
      </div> 
     </form> 
</div> 

JSFiddle 코드는 파이어 폭스와 크롬에서 잘 작동합니다. 하지만 IE에 오류가 표시됩니다.

Message: cannot call methods on dialog prior to initialization; attempted to call method 'open' 

도움을 주시면 감사하겠습니다. 고맙습니다.

+0

코드를 살펴보면 어떤 시점에서 대화 상자의 div를 제거하지 않거나 처음 초기화 할 때 존재하지 않는 오류가 발생할 가능성이 없습니다. –

+0

확인 ** IE에서 JSFiddle ** 링크 – heemaniroberts

+0

그것은 IE9가 아니라 IE10에서 작동합니다. –

답변

1

왜 중첩 된 양식이 있습니까? 이는 합법적 인 HTML이 아니며 의미가 없습니다. 중첩 된 양식을 제거하는 방법을 알아 내고 코드가 작동합니다.

다음을 시도해보십시오.

<div> 
    <form> 
      <table> ..... </table> 
      <div> 
       <table> .... </table> 
      </div> 
     </form> 
</div> 
<div id='dialog-form'> 
    <form> </form> 
</div> 
+1

중첩 된 양식은 HTML5에서 합법적이라고 확신합니다.하지만 그 점 외에도 있습니다. 일단 대화 상자가 초기화되면 jQuery가이 대화 상자를 본문으로 이동시키기 때문에 실제로 다른 대화 상자 안에 있지 않습니다. –

+0

이것은 오류를 제거하지만 대화 상자가 나타나지 않습니다. – heemaniroberts

+0

@KevinB - HTML5는 중첩 된 양식을 허용하지 않지만이 "제한 사항"을보다 쉽게 ​​처리 할 수있는 몇 가지 새로운 기능을 가지고 있습니다. 여기를 참조하십시오 : http://stackoverflow.com/a/8380229/52551 jQuery가 다른 곳에서 양식을 이동하더라도 IE의 DOM은 문서화되지 않은 동작을 발생시키는 중첩 된 양식의 존재로 뒤집혀 있습니다. –