![](/img/trans.png)
[英]Is there such a thing as 'if (!Page.IsPostBack)' in jQuery or javascript?
[英]How to disable a JavaScript function after page Page.IsPostBack
當前,我有一個非常簡單的div,它具有顯示:none; 屬性。 頁面加載時,我調用$(“#MyDiv”)。show();。 使div彈出並延遲顯示給用戶。 從那里,他們可以在表單中輸入信息,然后使用asp.net按鈕提交信息。
用戶輸入信息並提交表單后,它將回發到同一頁面,但是它將再次運行JavaScript函數,並再次顯示div。 回發后如何禁用此功能?
我知道您可以使用以下代碼:
if (Page.IsPostBack){}
但是我不確定如何禁用該功能。 這是我的函數顯示div的樣子,非常簡單:
function testpopup() {
setTimeout(function () { $("#MyDiv").show(); }, 1500);
};
有任何想法嗎? 謝謝。
好的,我想出了一種方法。 我幾乎將輸入字段設置為N的隱藏值,如下所示:
<input type="hidden" id="IsFormSubmitted" value="N" runat="server" />
然后,使函數評估並將輸入字段的值設置為Y,如下所示:
“
function Password() {
var val = document.getElementById("IsFormSubmitted");
if(val.value == "N")
{
setTimeout(function () { $("#MyDiv").show(); }, 1500);
val.value = "Y";
}
};
感謝所有方向:)
也許您也可以考慮使用這種方法-在aspx頁面中添加一個HiddenField控件,該控件用於標記表單是否已提交。
<asp:hiddenfield id="hfIsFormSubmitted" value="" runat="server"/>
這樣,一旦觸發了提交按鈕的OnClick
事件,就可hfIsFormSubmitted.Value = "submitted";
隱藏字段分配一個值,例如hfIsFormSubmitted.Value = "submitted";
。 然后在您的JS代碼中檢查該值,以確定是否需要運行show()函數。
有更好的方法來獲得所需的結果。
1.不要包含$("#MyDiv").show();
到$(document)ready...
代替
void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "showdiv", "$("#MyDiv").show();", true);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.