表单验证:如果有错误,不要't使手风琴动起来
Form validation: if there is errors don't animate the accordion
我在awsAccordion上使用jQuery Validation插件。我想在验证运行无错误后打开手风琴的下一个选项卡。
我就是这么做的:http://jsfiddle.net/vqL4p/7/
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
},
invalidHandler: function(form, validator){ //if there is error
var errors = validator.numberOfInvalids();
var message = (errors == 1) ? "One of your groups won't validate." : "Neither of your groups will validate.";
alert(message);
$('dt').unbind('click'); //if there is error remove click on the tab
},
submitHandler: function (form) {
alert('valid form submitted');
return false;
}
});
$('dt').click(
function(e){
$("#myform").valid();
});
问题是,只有在关闭选项卡并打开下一个选项卡后,取消绑定的单击$('dt').unbind('click');
才能工作。你知道解决这个问题的方法吗
非常感谢!
您不必解除click事件的绑定,只需要停止传播并阻止其他处理程序使用event.stopImmediatePropagation()执行。然后使用!$("#myform").valid()
检查click事件中表单的有效性。
尝试:
$('dt').click(function(e){
if(!$("#myform").valid()){ //Check if form is valid or not
e.stopImmediatePropagation(); //stop rest of the handlers from being executed
};
});
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
},
invalidHandler: function(form, validator){
var errors = validator.numberOfInvalids();
var message = (errors == 1) ? "Validated." : "Error! the field is required";
},
submitHandler: function (form) {
alert('valid form submitted');
}
});
$("#accordion1").awsAccordion({
type:"horizontal",
cssAttrsHor:{
ulWidth:"responsive",
liWidth:50,
liHeight:300
},
startSlide:1,
openOnebyOne:true,
classTab:"active",
slideOn:"click",
autoPlay:false,
autoPlaySpeed:500
});
演示
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 手风琴可点击并悬停
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 响应动画手风琴不工作
- 禁用SVG拖动
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- 如何使删除线看起来像x
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 表单验证:如果有错误,不要't使手风琴动起来
- 手风琴 Jquery 在点击时折叠起来
- 手风琴上的可拖动潜水器
- 想让边界动起来,我猜是逻辑错误
- 为什么我的菜单在第二次拖动到新项目时跳起来了?
- Fabric.js:有没有办法让这个“动起来”?当作为选择的一部分移动时,监听器会触发
- 当在可排序列表中拖动时,jQuery UI手风琴在IE7中是不可见的
- 如何使活泼的手风琴看起来像一棵树
- 拖动后从手风琴中移除项目