2011-02-07 3 views
1

작동하지 I가 다음 스크립트 :jQuery를 대화 제대로

<script type="text/javascript"> 
$("#addLocation").dialog({ 
      autoOpen: false, 
     modal: true, 
     height: 700, 
     width: 550, 
     buttons: { 
      "Add Location": function() { 
       document.forms["mapform"].submit(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     }, 
}); 
</script> 

<script type="text/javascript"> 
function showLocationDialog() { 
    $("#addLocation").dialog("open"); 
} 
</script> 

<div id="addLocation" style="display:none;"> 
<form action="" method="post" name="mapform"> 
<input type="text" name="name" /> 
<input type="submit" /> 
</form> 
</div> 

<button onclick="javascript:showLocationDialog();">Add an address</button> 

이 버튼은 대화 상자를 열지 않고 ... 사람이 도움을 줄 수 왜 이해할 수 없다?

감사합니다,

답변

3

대기가 준비 할 수 있습니다. 그 초기화하면

이 div..the 대화 상자가 모든 것을 숨기고 담당하게 될 것 addLocation에서 display:none CSS를 제거 ... $(document).ready() 또는 $() 블록

1

1 - 한 $(document).ready() { ... });.dialog() 초기화를 넣습니다.

2 - 버튼 값 이후에서 추가 쉼표를 제거 : DOM에 대한

buttons: { 
      "Add Location": function() { 
       document.forms["mapform"].submit(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     }, <-- remove this, causes IE to spontaneously combust 
0

시도하는 다른 일에 .dialog() 코드를 스틱 on document.ready

+1

그건별로 좋은 생각이 아닙니다. 인라인 CSS는 dom이 준비되기 전에 * 양식을 숨 깁니다. 두 가지 이점이 있습니다. 첫째, 사용자는 무언가를 보지 않고 사라지는 것을 보게됩니다. 혼란스럽고 브라우저가로드하는 동안 자원 렌더링을 낭비하지 않습니다. dom이 준비되어 대화 상자()가 그것을 숨길 때 다시 렌더링됩니다. – davin

관련 문제