我已经搜索了StackOverflow来解决这个问题,但是找不到一个可行的方法。
我正在使用Bootstrap Validator验证表单,它运行良好。我想禁用submit
按钮,直到整个表单有效并且Bootstrap Validator具有isValid()
功能。使用这个功能,我能做的最好就是使用keyup,这很难看。
每当表单评估其有效性时,都会有一个延迟时间,并且提交按钮会从有效闪烁到非常快速无效。
有没有办法通过setTimeout
或.delay()
修复此闪烁,并且仍然具有与现在相同的表单功能?
或者,是否有纯粹的Bootstrap Validator解决方案? (这将是理想的)我查看了文档,但找不到任何有用的东西。只有方法可以设置表单的验证时间,这对我的原因没有帮助。
这是展示问题的JSFiddle。
答案 0 :(得分:4)
我更仔细地查看了您的代码,最后更改了一些关键区域以达到您想要的效果。
keyup
更改为status.field.bv
,每当字段状态发生变化时,引导验证程序(BV)都会抛出此触发器。isValid()
jquery函数(没有考虑BV设置),而是检查BV适用于每个has-success
的{{1}}类的存在。 代码如下:
HTML:
form-group
使用Javascript:
<form id="test">
<div class="form-group">
<input class="form-control input-lg" name="email" type="text" size="35" placeholder="Email*"></input>
</div>
<div class="form-group">
<input class="form-control input-lg" name="password" type="password" size="35" placeholder="Confirm Password*"></input>
</div>
<input class="btn btn-lg btn-success submit-button" style="width: 100%;" value="Sign Up!" type="submit" disabled></input>
</form>
JSFiddle:http://jsfiddle.net/ejyef7vc/3/