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 に答える