javascript not firing when asp.net user control loads
- by Jawahar
I am trying to fire a Javascript call when an ASP.net user control to an aspx page.
The Web site allows users to add user controls to a page (similar to adding a widget etc to a page like google widgets). But when the control is added the javascript does not fire, only if the page is refreshed will it fire the javascript. IF the next time the website is accessd and the controlis still there the javascript fires too.
Do I need to use the RegisterClientScript method to register the call (setAutoTimer()) on the control load or OnPreRender event.
In the User control I have this at the start of the ascx file:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
if ($("#alarmList").length) {
setAutoTimer();
getData();
}
});
function setAutoTimer() {
setInterval(getData, 10000);
}
function getData() {
$.ajax({
type: "POST",
url: "Service.asmx/getListData
data: "{'inverterid': '" + "1'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
AjaxSucceeded(msg);
},
error: AjaxFailed
});
}
function AjaxSucceeded(result) {
$("#alarmList").empty();
$("#alarmsListTemplate").tmpl(result.d)
.appendTo("#alarmList");
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
</script>