左侧导航验证
Left Navigation Validation
我有一个主页面,其中存在leftnavigation.jsp和header.jsp。现在,左侧导航包含指向少数网页的超链接(比如general.jsp、contact.jsp)。单击这些超链接,这些网页就会打开。就像我单击常规链接,它就会打开,如果我单击contact.jsp的链接,联系人网页就会打开一样。现在,这些网页在表单末尾的保存按钮上进行了验证。
现在,当用户单击左侧导航上的链接来更改网页时,我想让这些验证(每个网页都有保存按钮上的验证功能)发挥作用。leftnavigation.jsp不包含任何表单元素。它只包含链接或涂鸦有什么建议吗?
听起来很简单。您可以使导航栏链接在单击时调用表单的验证函数。也许是这样的:
<a href="anotherpage.jsp" onclick="validate(); return true;>Click me!</a>
不过,这只是一个警告:以这种方式保证验证是不可能的,用户可以绕过验证(例如,用户可以单击后退按钮)。如果这正是您想要实现的,请考虑运行验证函数onpropertychanged
或onkeyup
。和往常一样,表单验证不应该(几乎)成为阻碍;如果用户没有正确键入内容,不要显示alert
消息或做任何真正分散注意力的事情。
请注意,上面的代码如何允许用户更改页面,而不管表单的验证状态如何。如果表单验证失败,您可以让onclick
函数返回false
,但这是可以绕过的,这对用户来说是一种障碍。
如果这真的是必要的,不管怎样,都要让链接工作,但要显示一条小消息,可能是以div
的形式悄悄地弹出在页面顶部,警告用户他们的一个表单条目不正确。
在导航链接上侦听click
事件,然后运行验证函数:
function listen(event, elem, func) {
if (elem.addEventListener) {
elem.addEventListener(event, func, false);
} else if (elem.attachEvent) {
elem.attachEvent('on' + event, func);
}
}
var links = document.getElementsByTagName('a');
listen('click', links, validationFunction);
如果您正在传递变量,那么将验证函数封装在一个匿名函数中:
listen('click', links, function(param) { validationFunction(param); });
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- angular 1.5应用程序中的导航栏
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- 无法从jquery Mobile导航栏重定向到另一个页面
- JS验证ajax返回的html中的表单数据
- 同步调用,直到用户通过angular验证为访问者
- 带有加号的电话号码验证(可选)
- 解析javascript表单验证器
- 两位数的月份日期验证
- 使用angularjs验证文本框中的电子邮件
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 左侧导航验证
- jsf2-如何使用一个按钮通过javascript进行计算和验证,然后提交和导航