【发布时间】:2010-12-29 00:43:47
【问题描述】:
当我尝试使用 jQuery 验证器插件验证我的表单时,它会在 Mozilla Firefox 和 Opera 中写入两次错误文本,并且不会删除它们的值(“此字段是必需的。”)当我编写合适的输入字段的值。为什么它写“此字段是必需的”。两次报错,除了IE以外的浏览器都不能用?
$(document).ready(function() {
$("#courseForm").submit(function(event) {
//$("#courseForm").validate();
if($("#courseForm").valid()){
var nameOfCourse = $.trim($("#course_name").val());
var codeOfCourse = $.trim($("#course_code").val());
var duration = $.trim($("#course_hour").val());
var courseYear = $("#course_year").val();
if ($("#is_elective").is(':checked')) {
var elective = 1;
} else {
var elective = 0;
}
if ($("#is_service").is(':checked')) {
var service = 1;
} else {
var service = 0;
}
var typeOfClassroom = $("#clasroom_type").val();
var groupCount = $("#group_count").val();
$.ajax({
type:'POST',
url: 'defineCourse.action',
data: { pageAction:"defineCourse" , nameOfCourse: nameOfCourse, codeOfCourse: codeOfCourse, duration: duration, courseYear: courseYear, elective: elective, service: service, typeOfClassroom: typeOfClassroom, groupCount: groupCount },
success: function(data) {
if (data == null || data == '') {
alert('Successfull!');
} else {
alert(data);
}
},
error: function(data) {
alert('Something wrong!');
}
});
}
event.preventDefault();
});
});
对于 IE,它可以正常工作,让我们接受我没有输入一些必需的值。它显示错误消息,如果我写输入字段,它会立即删除该文本,但在其他浏览器中它不能。
【问题讨论】:
-
请不要使用jQuery进行验证,并假设所有发送到服务器的数据都是有效的。这对于防止愚蠢的客户端请求非常有用,但对于黑客来说却无济于事。它很容易通过。也有类似的服务器逻辑。或者只是用户服务器逻辑而不是 jQuery 验证
标签: jquery jquery-plugins jquery-validate cross-browser