[英]open a window (aspx page) with one click + javascript
我需要單擊一個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);
}
問題是您要添加代碼來處理click事件處理程序中的單擊。 這意味着,當您第一次單擊按鈕時,事件處理程序將屬性添加到按鈕。 回發后,您可以再次單擊該按鈕以打開彈出窗口,因為該按鈕現在具有客戶端代碼。
在Page_Load中添加屬性,以便按鈕始終具有該屬性,或者在事件處理程序中,將代碼添加到回發后立即調用該函數的頁面:
ClientScript.RegisterStartupScript(Me.GetType(), "open", "OpenPopup();", True)
發生此問題的原因可能是單擊(PostBack)時提交了表單。 如果在onclick屬性中返回false,則應取消表單提交。 您也可以使用OnClientClick 。
btnClaim.OnClientClick = "javascript:OpenPopup(); return false;";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.