我在 Bootstrap 页面上坚持使用 jQuery 验证。我使用 jQuery 验证器将我的字段绑定在 Bootstrap 样式的页面上,并将其设置onfocusout
为 true,以便获得即时反馈。但我收到一个 javascript 错误:
Uncaught TypeError: undefined is not a function jquery.validate.min.js:2
e jquery.validate.min.js:2
(anonymous function) jquery.validate.min.js:2
m.event.dispatch jquery-1.11.1.min.js:3
r.handle jquery-1.11.1.min.js:3
m.event.trigger jquery-1.11.1.min.js:3
m.event.simulate jquery-1.11.1.min.js:3
c jquery-1.11.1.min.js:3
HTML
<div class=container-fluid>
<form id=withdraw_form class=form-horizontal role=form>
<div class="wf-section account-details">
<h4 class=title>Details</h4>
<div class="form-group">
<label class="col-xs-5 col-md-4 control-label ">Amount</label>
<div class="col-xs-4 col-md-5 remove-side-paddings">
<input type=text class="form-control" id=amount name=amount />
</div>
<div class="col-xs-2 col-md-2 " style="padding-left: 5px;"><span>eg. 99.99</span></div>
</div>
</div>
<div class="wf-section delivery-address">
<h4 class=title>Contact</h4>
<div class="form-group">
<label class="col-xs-5 col-md-4 control-label ">Phone</label>
<div class="col-xs-4 col-md-5 remove-side-paddings">
<input type=text class="form-control" id=phone name=phone />
</div>
</div>
</div>
<div class="action-area">
<input type=submit id=withdraw class="btn btn-primary" value="Submit">
<input type=button id=cancel class="btn btn-primary" value="Cancel">
</div>
</form>
</div>
JavaScript
$(function() {
$('#withdraw_form').validate({
onfocusout: true,
onkeyup: false,
onclick: false,
errorElement: 'div',
errorClass: 'help-block',
rules: {
amount: {
required: true,
number: true
},
phone: {
required: true,
phoneUS: true
}
},
messages: {
amount: {
required: "Please enter a valid amount",
number: "Please enter a valid number"
},
phone: {
required: "Please enter a valid phone number",
phoneUS: "Not a valid US phone nmber!"
}
},
highlight: function(element) {
$(element).closest('.form-group').removeClass('success').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.form-group').removeClass('has-error');
}
});
});
请在此处找到非工作示例。
另一个奇怪的事情是(比如说我设置onfocusout
为 false),直接提交一个或多个但所有字段无效,它不会抛出错误。表单提交成功。
实际上错误是在jQuery中引发的。我尝试使用文件的未缩小版本,但找不到任何有用的东西。
请帮助我理解我做错了什么。非常感谢您的帮助。
谢谢 Vivek Ragunathan