2013-03-15 18 views
0

我想從JavaScript函數(包括相同的clasic asp或.js文件中)關閉JQuery對話框,但得到錯誤 錯誤:無法在初始化之前調用對話框上的方法;試圖調用方法'關閉'從Javascript函數手動關閉JQuery對話框 - 錯誤

這是通過對話框加載的文件的代碼,並顯示如何使用外部或內部函數調用關閉打開的對話框和 如果要打開它,我如何不能初始化錯誤再次?

<!DOCTYPE html> 
<html> 
<head> 
    <title>Default2.asp</title> 
<script src="/JQuery/jquery-1.9.1.js"></script> 
<script src="/JQuery/jquery-ui.js"></script>  
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" /> 


<script type="text/javascript"> 
$(function() { 
    $('#Form2').submit(function(evt) { 
     evt.preventDefault(); 
     $.ajax({ 
      url: "Default2.asp", 
      type: 'POST', 
      data: $(this).serialize(), 
      success: function(result) { 
       $('#mydiv').html(result); 
      } 
     }); 
    }); 
}); 

function closeThis() 
{ 
// $("#mydiv").hide(); 
    $("#mydiv").dialog("close"); 
} 
</script> 

</head> 
<body> 
This is Default2.asp file 
<a href="JavaScript:closeThis();">Close This Dialog</a> 
<br><br> 

<% 
Dim Name, Address 
Name = Request.form("Name") 
Address = Request.form("address") 

Response.write("The Name was " & Name & " and Address was " & Address) 
%> 

<br><br> 
<form ID=Form2 > 
Name: <input type="text" name="Name"><br> 
Address: <input type="text" name="address"><br><br> 
<input type="submit" value="Submit"> 
This is just a test 
</form> 

</body> 
</html> 
+0

有id爲不派息'mydiv' – 2013-03-15 04:50:58

回答

0

試試這個:

$(function() { 
    $('#Form2').submit(function(evt) { 
     evt.preventDefault(); 
     $.ajax({ 
      url: "Default2.asp", 
      type: 'POST', 
      data: $(this).serialize(), 
      success: function(result) { 
       $('#mydiv').dialog("open").html(result);//<-- First open it here 
      } 
     }); 
    }); 
}); 

function closeThis() 
{ 
    if($("#mydiv").dialog('isOpen')) 
     $("#mydiv").dialog("close"); 
} 

閱讀文檔http://api.jqueryui.com/dialog/#method-isOpen