簡體   English   中英

一鍵+ javascript打開一個窗口(aspx頁)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM