我有一个包含6个文本字段的简单表单。 我使用Ajax来保存信息。 当我单击编辑按钮时,jQuery验证器识别出错误但允许提交。 实际上它只适用于最后输入!
我使用class =“number fillone”来检查他们输入的数字,还输入6中的至少一个...
$('#edit_midterm').click(function() {
$("#edit_midterm_form").validate({
rules:{
queiz: {number:true, max:6,
seminar:{number:true, max:6,
tamrin:{number:true, max:6,
midterm:{number:true, max:6},
tahghigh:{number:true, max:6},
project:{number:true, max:6}
},
require_from_group: [1,".fillone"],
submitHandler: function()
{
$("#loading_edit").ajaxStart(function(){$(this).show();});
$("#loading_edit").ajaxStop(function(){$(this).hide();});
$.ajax({
type:"POST",
url:"course/term/ajax_mlist.php",
data:($("#edit_midterm_form").serialize()),
success:function(data){
if((data.result)=='true')
$("#result_edit").html(data.message);
},
dataType:"json"});
return false;
}
});
});
这是我的表格:
<form name="edit_mid" action="" id="edit_midterm_form" method="post">
<input type="hidden" name="type" value="edit">
<input type="hidden" name="operation" value="yes">
<input type="hidden" name="ic" value="'.$id.'">
<table class="list" width="100%" border="0" align="center" cellspacing="1" cellpadding="5" dir="rtl">
<tr>
<th colspan="2">Edit Form</th>
</tr>
<tr>
<td width="100">Quize</td>
<td><span class="red_error"><input type="text" name="queiz" id="queiz" max="6" class="number fillone" value="'.$object->queiz_1.'"></span></td>
</tr>
<tr>
<td>Lecture</td>
<td><span class="red_error"><input type="text" name="seminar" id="seminar" max="6" class="number fillone" value="'.$object->seminar_3.'"></span></td>
</tr>
<tr>
<td>home Work</td>
<td><span class="red_error"><input type="text" name="tamrin" id="tamrin" max="6" class="number fillone" value="'.$object->tamrin_5.'"></span></td>
</tr>
<tr>
<td>Midterm</td>
<td><span class="red_error"><input type="text" name="midterm" id="midterm" max="6" class="number fillone" value="'.$object->midterm_2.'"></span></td>
</tr>
<tr>
<td>Search</td>
<td><span class="red_error"><input type="text" name="tahghigh" id="tahghigh" max="6" class="number fillone" value="'.$object->tahghigh_4.'"></span></td>
</tr>
<tr>
<td>project</td>
<td><span class="red_error"><input type="text" name="project" id="project" max="6" class="number fillone" value="'.$object->project_6.'"></span></td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="edit_midterm" value="Edit" class="buttom_edit">
<img src="../template/icon/ajax_loader_1.gif" id="loading_edit">
<span id="result_edit"></span>
</td>
</tr>
</table></form>
答案 0 :(得分:1)
不确定你得到了什么错误,但我一眼就能看到一些关闭的curley braces丢失了:
rules:{
queiz: {number:true, max:6},
seminar:{number:true, max:6},
tamrin:{number:true, max:6},
midterm:{number:true, max:6},
tahghigh:{number:true, max:6},
project:{number:true, max:6}
},
答案 1 :(得分:0)
实际上这里是rong,在我的代码中它是正确的。 问题是,当我使用此代码进行控制时,至少输入6中的一个,另一个不起作用。
在我的表单中,它只适用于最后一个!
这是代码:
jQuery.validator.addMethod("require_from_group", function(value, element, options) {
numberRequired = options[0];
selector = options[1];
var validOrNot = $(selector, element.form).filter(function() {
return $(this).val();
}).length >= numberRequired;
if(!$(element).data('being_validated')) {
var fields = $(selector, element.form);
fields.data('being_validated', true).valid();
fields.data('being_validated', false);
}
return validOrNot;
}, jQuery.format("please enter {0} Of this"));