【发布时间】:2011-02-12 18:36:28
【问题描述】:
客户端验证存在一些问题(使用RequiredFieldValidator、RegularExpressionValidator、CustomValidator 和客户端验证逻辑)。似乎 WebForm_DoPostBackWithOptions 没有被触发或导致未处理的异常使表单执行回发,无论它是否有效。
我尝试使用 ValidationSummary,如果支持 javascript,则将其隐藏:
<script>
$(document).ready(function() {
$("#javascriptDisabled").hide();
}
</script>
...
<div id="javascriptDisabled">
<asp:ValidationSummary runat="server" ...>
</div>
...
<asp:Button runat="server" OnClick="SendMessage" ...>
我的 .cs 代码是:
protected void SendMessage(object sender, EventArgs e)
{
if(!Page.IsValid) return;
}
在我的笔记本电脑上禁用 javascript 的 Chrome 上一切正常,但在我的 Android 手机上却不行。问题是手机上的Javascript没有被禁用,它被启用,并且正确地隐藏了ValidationSummary,但由于某种我无法理解的原因不执行客户端验证(Android浏览器上没有开发人员工具:(()。 这非常令人沮丧! :(
有人可以帮忙吗?
谢谢!
编辑:我找到了原因(但不是解决方案,如果存在的话)。我在我的页面中使用 Telerik RadEditor 控件,如果客户端是 Android 默认浏览器,则无法正确呈现所需的所有嵌入式脚本,从而导致 javascript 异常和(可能)浏览器禁用 javascript 运行时。这会导致客户端验证不再起作用。如果有解决此问题的方法,将与 Telerik 一起调查。
【问题讨论】:
-
你试过在安卓模拟器中运行它吗?也许这对你有帮助? nanaze.com/2009/01/debugging-javascript-on-android.html
-
嗨塞巴斯蒂安,感谢您的回答。是的,我尝试了模拟器(显然结果相同),但我不知道它有什么帮助。我无法对 android 默认浏览器行为进行更改,我需要找到一些方法在我的应用程序中修复它...
标签: asp.net android validation cross-browser