所以测试场景很简单:
1)运行我的小提琴http://jsfiddle.net/5WMff/1364/
2)例如第三个文本字段为现有的
添加一些值 3)点击save
按钮
4)该字段变为绿色,但没有弹出窗口。
5)再次点击save
按钮,然后出现弹出窗口。
为什么这样工作?
基本上我想验证字段并稍后将数据发送到ajax。由于我不知道如何在jsfiddle上模拟发送到ajax,我在那里留下了简单的弹出窗口 - 你仍然可以看到奇怪的行为。我认为错误是因为我一起使用这两个属性:
success: function (element) {
element.addClass('valid')
.closest('.form-group').removeClass('has-error').addClass('has-success');
},
submitHandler: function (form) { alert("here!");
}
但另一方面,我不确定是不是原因......这可能是什么问题?
答案 0 :(得分:1)
您错误地使用了success
回调函数。您使用highlight
执行success
所做的任何操作都会“撤消”。
unhighlight
旨在在字段通过验证时使用错误标签元素。换句话说,当字段通过验证时通常不需要错误标签,因此如果要在验证通过时显示“成功”消息来代替错误消息,则可以使用unhighlight
选项。
无论如何,将highlight
与has-success
一起使用,它会正常工作。您也错误拼写了highlight: function (element) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.form-group').addClass('has-success').removeClass('has-error');
},
课程。
DEBUG=myapp & npm start