如何在页面 Page.IsPostBack 之后禁用 JavaScript 函数
How to disable a JavaScript function after page Page.IsPostBack
目前,我有一个非常简单的div,它有一个显示:none; property。当页面加载时,我调用 $("#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";
.然后在 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);
}
}
- 将包含所有控件的div 放入 UpdatePanel。
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 未执行Ajax循环的Javascript之后的代码
- 在Javascript中的ajax响应之后未调用Dropdown事件
- 正则表达式用于在javascript中存储单词之前和之后
- Javascript删除数组中某个位置之后的项
- 数组在JavaScript中不是null,但在PHP'Ajax之后的s$_POST
- Javascript,如果继续到else之后
- 在Javascript服务器应用程序之后获取HTML
- Javascript:在每个onmouseover事件之后执行2个函数
- 如何在页面 Page.IsPostBack 之后禁用 JavaScript 函数
- Javascript 正则表达式在特定单词或数字之后拆分
- Richfaces捆绑的jQuery包含在webapp捆绑的JavaScript文件之后
- 在客户端 Javascript 方法之后运行服务器方法
- 如何在 javascript 中使用正则表达式提取句点 (.) 之后的字符串
- 即使在服务器将访问控制允许原点设置为“*”之后,也会收到javascript错误
- JQuery/Javascript - 遍历值之后的所有 json 元素
- 为什么页面在javascript:window.open之后出现空白并带有“[Object]”
- 在 Ajax 函数之后 JavaScript 不起作用
- 如何生成“"在段落中的某些单词之后.Javascript
- 如何使对象变量的更改保留在ForEach循环之后.Javascript