只需点击一下即可打开一个窗口(aspx页面)+ javascript

时间:2010-10-22 17:25:32

标签: javascript click

我需要打开一个带有单击的新窗口 一个asp.net按钮。我的问题是它总是需要两次点击..如果我写开放的窗口 页面加载中的代码,然后单击一下窗口打开.. 任何想法如何绕过这个......

按钮单击代码:

btnClaim.Attributes.Add("Onclick","javascript:return OpenPopup()")

Javascript功能:

  function OpenPopup()
{
window.open("newWindow.aspx?", "_blank", "height=500, width=575, left=150,
top=150, " +
"location=no, menubar=no, resizable=no, " +
"scrollbars=no, titlebar=no, toolbar=no", true);
}  

2 个答案:

答案 0 :(得分:4)

问题是您要添加代码来处理Click事件处理程序中的单击。这意味着当您第一次在事件处理程序将属性添加到按钮时单击该按钮。在回发之后,您可以再次单击该按钮以打开弹出窗口,因为该按钮现在具有客户端代码。

在Page_Load中添加属性以使按钮始终具有该属性,或者在事件处理程序中将代码添加到回发后立即调用该函数的页面:

ClientScript.RegisterStartupScript(Me.GetType(), "open", "OpenPopup();", True)

答案 1 :(得分:2)

可能会出现此问题,因为单击时提交的表单(PostBack)。如果在onclick属性中返回false,则应取消表单提交。您也可以使用OnClientClick

btnClaim.OnClientClick = "javascript:OpenPopup(); return false;";