Javascript函数不是从代码后面调用的

时间:2014-03-05 09:25:55

标签: javascript asp.net vb.net code-behind

我有像

这样的javascript函数
function CloseWindow() {
    alert("I am firing");    // window.close();         
}

我试图从按钮点击事件后面的代码中调用它,如

Page.ClientScript.RegisterStartupScript([GetType](), "Javascript", "javascript:CloseWindow();", True)

该功能未触发警报消息。  如果我从OnClientClick调用相同的函数,它就会触发。

OnClientClick="javascript:();"

可能是什么原因?如果您想再澄清一下,请告诉我。

<script type="text/javascript" language="javascript"> function CloseWindow() { alert("I am firing"); // window.close();
} function chkLength(evt, len) { var str = document.getElementById(evt.id); if (str.value.length < len) return true; else return false; } </script>

3 个答案:

答案 0 :(得分:3)

如果您使用了更新面板,则可以使用:

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "javascriptFunction();", true);

其他明智的你可以使用

ClientScript.RegisterStartupScript
        (GetType(),Guid.NewGuid().ToString(), "javascriptFunction();",true);

答案 1 :(得分:2)

尝试以下代码......

ClientScript.RegisterStartupScript
        (GetType(),Guid.NewGuid().ToString(), "javascript: CloseWindow();",true);

答案 2 :(得分:0)

第三个参数(脚本)必须是“CloseWindow();”而不是“javascript:CloseWindow();”