1

我使用 jquery facebox 作为删除确认框。当我进行删除时,它会删除我的记录,并通过 javascript 显示 resultsdiv。但它总是显示

Error: document.getElementById("ImageButtonDiv") is null

这是我的代码,

protected void Delete_Click(object sender, EventArgs e)
{
    // my delete
    ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
          "ShowImageButtonDiv();topBar('Successfully Deleted');", true);
}

和我的javascript函数,

function ShowImageButtonDiv() {
    document.getElementById("ImageButtonDiv").style.display = 'block';
    document.getElementById("datatable").style.display = 'block';
    document.getElementById("adddiv").style.display = 'none';
    return true;
}

编辑:

当我的删除确认不在 jquery facebox 中时,它会获取我的元素。可能是什么问题?

换了还是不行

ScriptManager.RegisterClientScriptBlock(LbDelete, typeof(LinkButton), "dele", 
 "jQuery(document).ready(function(){UsersDatatable('" + HfJsonString.Value + "');
        ShowImageButtonDiv();topBar('Successfully Deleted');});", true);
4

1 回答 1

1

发生这种情况是因为您的脚本可能在 dom 准备好之前运行,因此他找不到 ImageButtonDiv。

例如,您可以通过在 dom 准备好时运行此代码来更改它。

 ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
          "jQuery(document).ready(function(){ ShowImageButtonDiv();topBar('Successfully Deleted'); });"
, true);
于 2010-09-03T12:51:13.453 回答