Link to home
Start Free TrialLog in
Avatar of HLRosenberger
HLRosenbergerFlag for United States of America

asked on

Call the click event of a ASP.NET button from another form

I want to Call the click event of a ASP.NET button from another form.  How can I do this?  Can I use JavaScript?

This was suggested to me.  Does this make sense?

"Probably the simplest way of triggering the AJAX refresh across windows is to put a refresh button on the calling page, hide it with Javascript, and then call its click() method from the other page by using that same opener property to access the first page. You might need the document.getElementById('refreshButtonName'); function to find the refresh button."
Avatar of vivekpv10
vivekpv10
Flag of India image

make that button click event as publick...then call like this..
  btnSave_Click(sender, e);

document.getElementById('btnId').click();

Open in new window

from the child window (triggering click on parent window):

opener.document.getElementById('btnId').click();

from the parent window, if you have opened a window like this:

var wnd = window.open('url');

then use:

wnd.document.getElementById('btnId').click();
Avatar of HLRosenberger

ASKER

The child window is a popup and I display it using window.showModalDialog.

I tried opener.document.getElementById('btnId').click()  and  wnd.document.getElementById('btnId').click()   and neither seems to work, unless I am doing something wrong.   There is an accept button on the popup that does self.close().   When accept is click, this is where I want to trigger a refresh button click on the page from which i opened the popup?



Question:  How does it know to look for the button on the parent page and not on the popup?

window.opener.document.getElementById('btnId').click()

should work when called from the popup before calling self.close

Open in new window

I tried this.  it does not seem to work.  The button ID.  How does the codue know which page the button is on?  
well when you say window.opener it means the parent window. try adding a function in the parent and calling that.

e.g.
parent page:
function testCall() {
   alert('comes here');
}

popup page:
window.opener.testCall();

Open in new window

I found my problem - I need to reference the ASP button like this:

var RefreshButton= window.document.getElementById("<%= Unidentified_DocumentsRefreshButton.ClientID %>");

What's the deal with the  <%= %> syntax?  What does that tell the JavaScript interpreter?  Do you know if I always need this syntax?
ASKER CERTIFIED SOLUTION
Avatar of hosneylk
hosneylk
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the explanation!