带有默认字段值的Javascript验证
Javascript validation with default field value
这里是新手。我需要一些帮助。
我为我的网站使用了一个预先编写的javascript表单验证器,但问题是,它不是为具有默认值的字段设计的。因此,问题是验证器认为值"Name"answers"Message"是有效的,并且消息通过时没有任何错误消息。
我做了一些研究,看到了一些建议,但由于对javascript知之甚少,我不知道如何实现它们,也不知道如何创建另一组验证规则。
顺便说一句,我正在使用来自[http://www.faridhadi.com/][1]
以下是我正在编写的脚本:
我希望你们能帮助我!谢谢
// JavaScript Document
$(document).ready(function() {
$('#contactForm #submit').click(function() {
// Fade in the progress bar
$('#contactForm #formProgress').hide();
$('#contactForm #formProgress').html('<img src="images/ajax-loader.gif" /> Sending…');
$('#contactForm #formProgress').fadeIn();
// Disable the submit button
$('#contactForm #submit').attr("disabled", "disabled");
// Clear and hide any error messages
$('#contactForm .formError').html('');
// Set temaprary variables for the script
var isFocus=0;
var isError=0;
// Get the data from the form
var name=$('#contactForm #name').val();
var email=$('#contactForm #email').val();
var subject=$('#contactForm #subject').val();
var message=$('#contactForm #message').val();
// Validate the data
if(name=='') {
$('#contactForm #errorName').html('This is a required field.');
$('#contactForm #name').focus();
isFocus=1;
isError=1;
}
if(email=='') {
$('#contactForm #errorEmail').html('This is a required field.');
if(isFocus==0) {
$('#contactForm #email').focus();
isFocus=1;
}
isError=1;
} else {
var reg = /^([A-Za-z0-9_'-'.])+'@([A-Za-z0-9_'-'.])+'.([A-Za-z]{2,4})$/;
if(reg.test(email)==false) {
$('#contactForm #errorEmail').html('Invalid email address.');
if(isFocus==0) {
$('#contactForm #email').focus();
isFocus=1;
}
isError=1;
}
}
if(message=='') {
$('#contactForm #errorMessage').html('This is a required field.');
if(isFocus==0) {
$('#contactForm #message').focus();
isFocus=1;
}
isError=1;
}
// Terminate the script if an error is found
if(isError==1) {
$('#contactForm #formProgress').html('');
$('#contactForm #formProgress').hide();
// Activate the submit button
$('#contactForm #submit').attr("disabled", "");
return false;
}
$.ajaxSetup ({
cache: false
});
var dataString = 'name='+ name + '&email=' + email + '&subject=' + subject + '&message=' + message;
$.ajax({
type: "POST",
url: "php/submit-form-ajax.php",
data: dataString,
success: function(msg) {
//alert(msg);
// Check to see if the mail was successfully sent
if(msg=='Mail sent') {
// Update the progress bar
$('#contactForm #formProgress').html('<img src="images/ajax-complete.gif" /> Message sent.').delay(2000).fadeOut(400);
// Clear the subject field and message textbox
$('#contactForm #subject').val('');
$('#contactForm #message').val('');
} else {
$('#contactForm #formProgress').html('');
alert('There was an error sending your email. Please try again.');
}
// Activate the submit button
$('#contactForm #submit').attr("disabled", "");
},
error: function(ob,errStr) {
$('#contactForm #formProgress').html('');
alert('There was an error sending your email. Please try again.');
// Activate the submit button
$('#contactForm #submit').attr("disabled", "");
}
});
return false;
});
});
您最好使用HTML5 placeholder
属性作为"默认值"。为了支持所有的浏览器,你可以使用jQuery水印插件,它可以填充旧的浏览器来支持placeholder
。
对于验证,最好使用广泛使用的jQuery Validator插件
如果默认情况下是指初始value="No Subject"
,则如果输入为空,则可以修改分配变量以说明该值;
var name = $('#contactForm #name');
name = $.trim(name.val()) || name.prop("defaultValue");
...
var email = ....
相关文章:
- Javascript验证问题
- javascript验证和ajax调用同时不起作用
- 外部JavaScript验证不起作用
- JAVASCRIPT验证表单中的日期
- javascript验证编号未检测到空表单字段
- 通过Javascript验证PHP变量
- Javascript验证(gen_validatorv4.js)-基于复选框结果
- 基于lur的Javascript验证
- 想要使用 JavaScript 验证用户名和密码
- 使用javascript验证Ajax组合框
- 使用javascript验证电话号码无效
- 计算器的Javascript验证
- 时间字段上的JavaScript验证(不接受0:00格式)
- 如何使用javascript验证表单中的数据,然后调用php页面
- 使用JavaScript验证用户交互/输入-这是一种很好的方法
- Javascript验证:页面仍在提交
- 如何使用JavaScript验证下拉菜单
- 使用javascript验证只有一个特殊字符的字符串
- 编辑图像字段javascript验证空白图像不插入
- asp.net mvc中的javascript验证不适用于登录表单