2013-04-06 6 views
1

내 modalpopup에 대해 여러 취소 컨트롤이 있지만 btnCancel 만 작동하고 $ find(). click이 작동하지 않고 "오류 : Unable to get 속성 'click'의 값 : 객체가 null이거나 정의되지 않음 " 도움이 될 수 있으면 크게 감사하겠습니다.

:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" 
    CodeBehind="WebForm1.aspx.cs" Inherits="web.WebForm1" %> 

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <asp:ScriptManager runat="server" ID="scriptManager" EnablePageMethods="true"> 
    </asp:ScriptManager> 
    <asp:Button ID="btnShowPopupAmend" runat="server" /> 
    <asp:ModalPopupExtender ID="mpeAmend" runat="server" TargetControlID="btnShowPopupAmend" 
     PopupControlID="pnlpopupAmend" CancelControlID="btnCancel" BackgroundCssClass="modalBackground" /> 
    <asp:Panel ID="pnlpopupAmend" runat="server" Width="700px" Style="display: none;" 
     class="ModalPanel"> 
     <img src="images/close.png" style="cursor: hand" onclick="$find('btnCancel').click()" 
      width="15" height="15" /> 
     <asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClick="btnCancel_Click" /> 
    </asp:Panel> 
</asp:Content> 
내가 요소에서 논리를 취할 것

답변

1

...

은 JS는 다음과 같이 할 수 있습니다 후 'closeImg'

같은 이미지에 ID를 넣어

$('#closeImg').click(function() { 
    $('#btnCancel').click(); 
}); 
$('#btnCancel').click(function() { 
    //whatever you want to have happen 
}); 
예 : http://jsfiddle.net/vgDPd/

것은 (A $ (문서) .ready에 넣고 있는지 확인) 이렇게 DOM을로드했습니다.

0

$ 찾기 구문이 올바르지 않습니다. 또한 id를 선택하려면 요소의 id 앞에 '#'을 사용해야합니다. 다음을 시도 할 수 있습니다 :

$('#btnCancel').click() 

또는

$("body").find('#btnCancel').click() 

또한 @smerny가 언급 한 바와 같이. 템플릿에서 로직을 제거하고 준비된 함수 내에서 호출을 래핑하십시오.

레디 기능

나는 다음 modalpopupextender의 behaviorID을 설정 찾을 $라고 ...이 다음을 사용하여 작업있어,

확인
<script> 
$(document).ready(function(){ 
    $('#btnCancel').click(); 
}); 
</script> 
+0

안녕 나는 지금 얻을 "오류 : 재산 '$'의 값이 null 또는 정의되어 있지 Function 객체"나는 onclick을 = 때 ". $ ('# btnCancel을')) (클릭;" img – user1801525

+0

$ (document) .ready() 함수의 일부로 클릭 핸들러를 설정합니다. 이렇게하면 모든 객체가 초기화됩니다. –

+0

죄송하지만이 문제가 발생하지 않는다면 .... btnCancel의 onclick은 서버 측입니까? btnCancel을 클릭하면 다음과 같은 구문을 사용하여 modalpopup을 닫습니다. $ (document) .ready (function() # btnCancel). (function() { $ get ('# mpeAmend'). hide(); });}); – user1801525

0

과 같이 쓸 수있다(). 이미지의 onclick 이벤트에서 hide().

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" 
     CodeBehind="WebForm1.aspx.cs" Inherits="web.WebForm1" %> 

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
     <asp:ScriptManager runat="server" ID="scriptManager" EnablePageMethods="true"> 
     </asp:ScriptManager> 
     <asp:Button ID="btnShowPopupAmend" runat="server" /> 
     <asp:ModalPopupExtender ID="mpeAmend" BehaviorID="mpeAmend" runat="server" TargetControlID="btnShowPopupAmend" 
      PopupControlID="pnlpopupAmend" CancelControlID="btnCancel" BackgroundCssClass="modalBackground" /> 
     <asp:Panel ID="pnlpopupAmend" runat="server" Width="700px" Style="display: none;" 
      class="ModalPanel"> 
      <img src="images/close.png" id="imgClose" alt="" style="cursor: hand" onclick="$find('mpeAmend').hide()" 
       width="15" height="15" /> 
      <asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClick="btnCancel_Click" /> 
     </asp:Panel> 
    </asp:Content>