2014-12-16 3 views
1

저는 javascript/VB.NET 코딩에 익숙하지 않아 Button2 onClick 이벤트를 발생시키는 데 문제가 있습니다.Document.getElementById ('Button'). click(); 코드 실행 안 함

코드 숨김

Me._hiddenBtnComments.Attributes.Add("onclick","ShowModal('SomePage.aspx','SomePage','somestyle')") 

문제가 아니라

Protected Sub _lnbComments_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
      //Some Code that needs to run before opening Modal Page 
      Dim Script As String = "JavaScriptCode();" 
      ScriptManager.RegisterStartupScript(Me.upnToolBar, Me.upnToolBar.GetType(), "CommentsClick", Script, True) 
End Sub 

JS가 Page.aspx의

function ShowModal(page,name,style){ 
    var r = window.showModalDialog(page,window,style); 
} 
function JavaScriptCode(){ 
    var jsButton = document.getElementById('ct100_SiteContent__hiddenBtnComments'); //I made sure ClientID is correct 
    jsButton.click() //This should trigger onClick event and OPEN modalPage 
} 

페이지의 OnLoad 파일 Page.aspx.vb에서 Button1을위한 이벤트를 클릭 Javascript 코드가 실행되고 모달 페이지가 열립니다. 그러나 모달 페이지를 닫으면 코드 숨김 클릭 이벤트가 발생하지 않습니다. 어떤 아이디어가 코드에 문제가 있습니까?

Page.aspx 버튼이 마크 업

<asp:Button id="_hiddenBtnComments" runat="server" style="display:none" onclick="_hiddenBtnComments_click"></asp:Button> 

코드 숨김 Page.aspx.vb에 Button2를위한

Protected Sub _hiddenBtnComments_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _hiddenBtnComments.Click 
//Some Code that needs to run AFTER Modal Page closes. 
End Sub 

편집을 이벤트를 클릭 : 내 친구는 window.open을 사용하여 제안 window.showmodaldialog() 대신 코드 숨김 클릭 이벤트가 트리거됩니다! 그러나 window.showmodaldialog는 사용자가 기대할 수 있기 때문에 사용해야합니다.

+0

버튼에 대한 마크 업을 표시 할 수 있습니까? 클릭 이벤트 (JS가 아님)를 배선하고 있습니까? – DoctorMick

+0

나는 그것을 추가하고 버튼 컨트롤의 onclick에서 선언했다. – Daniel

답변

1

click() JavaScript에서 click 이벤트를 발생시키지 않습니다. jQuery를 사용하거나 dispatchEvent을 사용하십시오.이 게시물을 참조하십시오 : How to simulate a click with JavaScript?

+0

dispatchEvent를 사용하여 시도해 보았고 자바 스크립트 코드 만 트리거합니다.이 경우에는 모달 대화 상자/창을 여는 코드입니다. – Daniel

0

왜 이벤트를 트리거하는 대신 ShowModal 함수를 호출하지 않습니까?

매개 변수가 동적으로 필요하면 요소에 데이터 속성을 추가 할 수 있습니다.

+0

그렇습니다. 모달 페이지를 열 수는 있지만 모달 페이지를 닫은 후에 실행하려면 코드 숨김 기능 _hiddenBtnComments_click()이 필요합니다. – Daniel