Я пытаюсь запустить кусок JavaScript после загрузки страницы:Null справки из управления после загрузки страницы
protected void Page_LoadComplete(object sender, EventArgs e)
{
if (IsPostBack)
{
string controlName = getPostBackControlName();
if (controlName == "btnSubmit" || controlName == "ddlSalary")
{
Page.ClientScript.RegisterStartupScript(GetType(), "myAlertScript", "onLoadDisplay(this)", true);
}
}
}
Вот ссылка JavaScript:
function onLoadDisplay(sender) {
PerDiemClicked(sender);
}
function PerDiemClicked(sender) {
if (document.getElementById('<%= chkbxPerDiem.ClientID %>').checked == true) {
document.getElementById("PerDiemDisplay").style.display = 'inline';
}
else {
document.getElementById("PerDiemDisplay").style.display = 'none';
}
}
Я получаю эту ошибку :
0x800a138f - JavaScript runtime error: Unable to get property 'checked' of undefined or null reference
Я не понимаю, почему проверенный возвращается null, потому что я жду, когда страница будет завершена. P перед проверкой. Как проверить этот элемент управления и правильно запустить приведенный выше код?
редактировать: здесь флажок:
<asp:CheckBox ID="chkbxPerDiem" runat="server" Checked="false" onclick="PerDiemClicked(this)" />
Является ли это javascript на aspx или в отдельном файле js? –
В настоящее время он находится в файле aspx. –
вы подтвердили, что '<% = chkbxPerDiem.ClientID%>' отображает и если этот идентификатор существует или нет? –