这是我第一次使用这个插件。我正在使用 jQuery v-1.10。我也在使用迁移插件。我已经添加了js文件。我已经使用 prepros 添加了所有这些。但插件仍然无法正常工作。
控制台中也没有显示错误;只有一个警告显示说:
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
我的表单和JS代码如下。
<form id="login-form" method="post" action="#" novalidate>
<label for="login-email" class="control-label">Email : </label>
<input id="login-email" class="form-control" name="email" type="email" placeholder="Email..." required><br>
<label for="login-password" class="control-label">Password : </label>
<input id="login-password" class="form-control" name="password" type="password" placeholder="Password..." required><br>
<input class="btn btn-default" name="submit" type="submit" value="Submit">
</form>
$("#login-form input").not("[type=submit]").jqBootstrapValidation();
最佳答案
您必须在标记中使用适当的控件才能使其正常工作。
例如
<form ...>
<div class="control-group">
<label ...>Email</label>
<div class="controls">
<input ... />
<p class="help-block"></p>
</div>
</div>
</form>
我个人认为处理 javascript 的更好方法是创建一个“已验证”类,因为并非所有字段都需要验证。但我想这真的取决于你的表单元素:你可能确实需要验证整个表单,但在我使用过的大多数表单中,只有某些元素需要验证,因此创建一个类来调用你的 javascript 更好这样 jqBootstrapValidation.js 就不会扫描整个表单。
例如
/* assigned by class */
$(function(){$(".validated").jqBootstrapValidation();});
/* assigned by element */
$(function(){$("input,select,textarea").not("[type=submit]").jqBootstrapValidation();});
然后只需将您的“已验证”类添加到您需要验证的任何内容:
<input type="email" class="form-control validated" name="email" id="email" placeholder="Email Address" required />
希望这对您有所帮助!
关于javascript - jqBootstrapValidation 插件不适用于我的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478562/