Attempting to set the click for an element via JavaScript but having some trouble. The event is to be set when an aspx web page loads. However, it's executing the event on page load rather than when the element is actually clicked. Lastly, the click event is not working after the page is loaded. I've tried setting the event using both the addEventListener and click methods but to no avail. Here's a sample of the code:
<a class="HelpContext" title="Help" id="NonModalHelpContext" style="removed30px;">?</a>
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "SetHelpContext", "setHelpContext('" & sPid & "');", True)
<script language="javascript" type="text/javascript">
function setDefaultInvoice(aspCheckBoxID) {
oRegExp = new RegExp(aspCheckBoxID)
for (i = 0; i < document.forms[0].elements.length; i++)
{
elm = document.forms[0].elements[i]
if (elm.type == 'checkbox' && elm.id.indexOf('grdInvoiceTemplates') > -1)
{
if (oRegExp.test(elm.id)) {
elm.checked = true;
}
else {
elm.checked = false;
}
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
......
</html>
<script language="javascript" >
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
$get('InvoiceManagerContainer').className = 'Progress';
$get(args._postBackElement.id).disabled = true;
}
function EndRequest(sender, args) {
if (sender._postBackSettings.sourceElement.id !== '') {
$get('InvoiceManagerContainer').className = 'Normal';
$get(sender._postBackSettings.sourceElement.id).disabled = false;
}
}
function setHelpContext(sUrl) {
var ctrl = window.parent.document.getElementById('NonModalHelpContext');
ctrl.addEventListener("click", window.open("HelpPage.aspx?" + sUrl, "HelpPage", "width=500,height=300,toolbar=no,scrollbars=yes,resizable=no,dependent=yes", false), false);
}
</script>
Any help is appreciated.