【发布时间】:2012-08-07 23:59:21
【问题描述】:
我有一个打印到屏幕上的数据列表。在屏幕底部(滚动),我有一个带有文本字段的表单,用户可以在其中输入数据。当他们单击提交并且表单无效时,错误会正确显示,但用户现在正在查看在页面的最顶部。因此,他们看不到页面底部有错误。我想让它跳到页面底部的表单,以便用户可以看到发生了错误。
我考虑过使用锚点,但问题是;因为当我意识到表单无效时我已经在控制器中,所以我需要重定向回将主题标签附加到 url 的同一控制器。对我来说,这不是好的做法,而且有点浪费。
有人知道更好的方法吗?
【问题讨论】:
-
您是否反对客户端验证?这将在他们单击提交而不发布的第二秒显示错误..
-
jQuery 解决方案 - 看看stackoverflow.com/questions/9363508/…
-
嗯,有两个问题,一个,我链接了MicrosoftAjax.js、MicrosoftMvcAjax.js和MicrosoftMvcValidation.js。我也有:
但是,当我在调试模式下运行时,它仍在打我的控制器。另外,如果他们关闭了 JS,我想要这个解决方案。 -
一个简单的解决方案是在表单出现错误时在页面顶部添加一条全局错误消息。这通常是我所做的(当我有仅存在于服务器端的验证规则时)
-
摆脱 microsoftmvc 和 ajax 文件,只使用 jquery 文件,一切仍然正常。没有哈希标签和 JS,你就没有其他跨浏览器选项
标签: .net html asp.net-mvc-3 forms controller