ASP.NET 按钮单击清除 jQuery 水印
Posted
技术标签:
【中文标题】ASP.NET 按钮单击清除 jQuery 水印【英文标题】:ASP.NET button click clears jQuery watermark 【发布时间】:2013-09-23 07:57:12 【问题描述】:我正在使用jQuery watermark plugin 在我的 ASP.NET 文本框上应用水印。文本框还附加了 ASP.NET 验证。当我单击页面上的任何按钮时,水印就会消失。有趣的是,当我将焦点放在文本框上然后将焦点移开时,会出现水印。因此,单击按钮使水印不可见。
谁能找到为什么会这样?
【问题讨论】:
为什么不用占位符? 我会试试这个:Watermark Textbox cleared on partial postback @Kuzgun,我没有使用占位符,因为用户仍在使用旧版浏览器 【参考方案1】:根据Usage Notes:
表单提交 - 插件自动清除所有水印 在表单提交之前,因此您永远不需要手动删除 提交前的水印。
换句话说,这是设计使然。该功能是为了防止您不小心张贴水印并将其误认为是输入的数据。
你可以从第 425 行开始的source code 看到,它提供了以下解释:
// 为了在表单提交前可靠地清除所有水印, // 我们需要将表单的提交函数替换为我们自己的 // 功能。否则表单时水印不会被清除 // 以编程方式提交。
这就是为什么任何回发(全部或部分)都会导致水印被清除的原因。 (任何回发都会提交表单。)
如果您希望水印再次显示,对于部分回发,您需要重新加载它。 ($.watermark.showAll();
)
【讨论】:
我尝试在更新面板和页面加载中调用 $.watermark.showAll(),但没有运气。应该放在哪里? 将function pageLoad() $.watermark.showAll();
添加到您的javascript。每次您的页面回帖时都会调用它。这里有一篇短文讨论这个问题:Simplify ASP.NET AJAX client-side initialization以上是关于ASP.NET 按钮单击清除 jQuery 水印的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 按钮单击未通过 jquery 在隐藏字段中触发大量数据
通过调用 ASP.NET 按钮单击从 jQuery 模态对话框回发
Jquery 验证单击提交按钮两次 ASP.Net 核心 MVC 项目
ASP.NET MVC 应用程序:添加了 jQuery 事件来提交按钮单击,现在 jQuery Validate 插件不再工作。