1

jQuery UI 대화 상자를 사용할 때 문제가되는 마스터 페이지를 사용하는 aspx 페이지가 있습니다. 다음과 같이asp.net과 jQuery UI 대화 상자 - 개체가 속성 또는 메서드 '대화 상자'를 지원하지 않습니다.

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> 
<link href="/Styles/SiteFramePage.css" rel="stylesheet" type="text/css" media="Screen"/> 
<link href="Styles/ArrivalTemplate.css" rel="stylesheet" type="text/css" /> 
<link href="Styles/jquery-ui-1.12.1.css" rel="Stylesheet" type="text/css" /> 
<style type="text/css"> 
    .DisabledCheckout 
    { 
     background-color:Gray; 
     color:Black; 
     Width:100%; 
     font-weight:bold; 
    } 
    body.waiting 
    { 
     cursor: wait; 
    } 
    .no-close .ui-dialog-titlebar-close { 
     display: none; 
    } 
</style> 

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.js"></script> 
<script type="text/javascript" src="Scripts/jquery-ui-1.12.1.js"></script> 
<script src="Scripts/SMS_JClient.js" type="text/javascript"></script> 

대화에 대한 나의 사업부는 다음과 같습니다

<div id="ChckDgtDialog" title="Enter Check Digit"> 
    <table> 
     <tr> 
      <td id="ChckDgtDialogError"></td> 
     </tr> 
     <tr> 
      <td id="ChckDgtDialogPrompt">Please enter the check digit on the container.</td> 
     </tr> 
     <tr> 
      <td align="center"><input type="text" id="ChckDgtDialogTextBox" size="50" onkeypress="isChckDgtDialogSubmit(event)" /></td> 
     </tr> 
    </table> 
</div> 

나는 또한 대화로 사업부를 설정 페이지 하단에 스크립트가 있습니다.

$("#ChckDgtDialog").dialog({ 
     autoOpen: false, 
     dialogClass: "no-close", 
     width: 425, 
     modal: true, 
     buttons: { 
      "Ok": checkDigitValidate, 
      Cancel: function() { 
       var dialogbox = $('#ChckDgtDialog'); 
       $(dialogbox).dialog("close"); 
      } 
     }, 
     open: function() { 
      stopTimer(); 
     } 
    }); 

$(window).load()에 대한 데이터를 얻을 것이다 버튼을 사용하여 테이블을 만드는 것이 콘텐츠 1 내에서 더 이상 스크립트 태그가 있습니다. 해당 스크립트 블록 내에서 대화 상자를 열어야합니다 다음과 같은 문장이있다 :

$(":button").click(function() { 

Option = $(this).text(); 

if (Option == "Check In") { 

    $("#ChckDgtDialog").dialog("open"); 

} 
if (Option == "Check Out") { 

    $("#ChckDgtDialog").dialog("open"); 
}}); 

(제공 다른 논리가 유일한 문제와 관련된 것을 보여 주려 더 목적의 진술, 경우) 그러나 단추를 클릭하면 개체가 속성 또는 메서드 '대화 상자'를 지원하지 않습니다.라는 오류 메시지가 나타납니다.

이상한 점은 페이지 하단의 스크립트에서 대화 상자의 모든 속성을 설정할 때 아무런 문제가 없다는 것입니다. div가 페이지에 표시되지 않고 내가 제거했다는 이유로이 부분이 작동한다고 알릴 수 있습니다. 그것은 범위와 함께 몇 가지 문제처럼 보이지만 대화 속성이 $(window).load() 내에 설정되어있는 부분을 움직이려고했습니다. 왜냐하면 이론적으로 jquery UI 스크립트가 그 시점에로드되어서는 안되기 때문입니다. 그런 다음 그 오류가 발생합니다. 대화를 열기 전까지는

버튼을 클릭하면 왜 우리에게 대화 상자가 제공되지 않는지에 대한 아이디어가 있습니까? 나는 jquery에 처음이고 뭔가가 엉망이 될 수 일반적으로 마스터 페이지 또는 asp.net과 뭔가가 있는지 궁금하네요?

답변

0

페이지 초기화 기능을 페이지 내부에 배치하면 문제를 해결할 수 있다고 생각합니다.

+0

나는 그것을 시도했다. 대신 "개체가 속성이나 메서드 '대화 상자'를 지원하지 않는다."라는 오류 메시지가 초기화에 표시된다. 그것과 같은 jquery UI는 어떤 이유로 그 시점에로드되지 않습니다. 같은 결과로 $ (window) .load()와 $ (document) .ready()를 모두 시도했습니다. – Joe

+0