我正在使用带有数据属性的jQuery验证规则,它正常工作但是一旦验证了必需字段,其余的jquery代码就不起作用了。所以它确实验证了ItemID,但之后成功函数不起作用。
以下是代码:
HTML
<input type="text" name="itemID" id="itemID" class="required" data-rule-required="true" data-msg-required="Please enter an item to search">
Jquery
<script>
$(document).ready(function()
{
var validator = $("#Form").validate(
{
errorClass: 'validateError',
errorContainer: ".EmphasisDanger",
wrapper: "li"
},
success: function(){
stItems = $('#itemID').val().replace(/(?:\r\n|\r|\n)/g, ',');
document.Form.target='_parent';
document.Form.action='/admin/system/index.cfm?JobIDs=' + stItems;
document.Form.submit();
});
});
答案 0 :(得分:0)
你的结构毫无意义。
看起来应该是这样的......注意逗号和大括号的位置......
$(document).ready(function() {
var validator = $("#Form").validate({
errorClass: 'validateError',
errorContainer: ".EmphasisDanger",
wrapper: "li",
success: function() {
....
}
});
});
根据success
回调函数的the docs,
如果指定,则显示错误标签以显示有效元素。如果给出了String,则将其作为类添加到标签中。如果给出了一个Function,则使用标签(作为jQuery对象)和验证的输入(作为DOM元素)调用它。标签可用于添加文本,例如&#34; ok!&#34;。
换句话说,success
功能不是您提交提交的地方。
也许,您打算使用the submitHandler
callback function ...
$(document).ready(function() {
var validator = $("#Form").validate({
errorClass: 'validateError',
errorContainer: ".EmphasisDanger",
wrapper: "li",
submitHandler: function(form) {
....
// use the 'form' argument provided by the developer
form.submit();
}
});
});