使用默认字段值进行Javascript验证

使用默认字段值进行Javascript验证,javascript,validation,Javascript,Validation,我是新手。我需要一些帮助 我正在为我的网站使用一个预先编写的javascript表单验证程序,但问题是,它不是为具有默认值的字段设计的。所以问题是验证器认为值“Name”和“Message”是有效的,并且消息没有任何错误消息 我做了一些研究,看到了一些建议,但对javascript知之甚少,我不知道如何实现它们,也不知道如何创建另一组验证规则 顺便说一下,我使用的是来自[http://www.faridhadi.com/][1] 以下是我正在编写的脚本: 我希望你们能帮助我!谢谢 // Java

我是新手。我需要一些帮助

我正在为我的网站使用一个预先编写的javascript表单验证程序,但问题是,它不是为具有默认值的字段设计的。所以问题是验证器认为值“Name”和“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&hellip;');
        $('#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;
    });
});
//JavaScript文档
$(文档).ready(函数(){
$('#contactForm#submit')。单击(函数(){
//淡入进度条
$(“#contactForm#formProgress”).hide();
$('contactForm#formProgress').html('Sending&hellip;');
$(“#contactForm#formProgress”).fadeIn();
//禁用提交按钮
$(#contactForm#submit').attr(“disabled”、“disabled”);
//清除并隐藏任何错误消息
$('#contactForm.formError').html('';
//为脚本设置temaprary变量
var isFocus=0;
var-isError=0;
//从表单中获取数据
var name=$('#contactForm#name').val();
var email=$('#contactForm#email').val();
var subject=$('#contactForm#subject').val();
var message=$('#contactForm#message').val();
//验证数据
如果(名称=“”){
$(“#contactForm#errorName”).html('这是必填字段');
$('#contactForm#name').focus();
isFocus=1;
isError=1;
}
如果(电子邮件=“”){
$(“#contactForm#errorEmail”).html('这是必填字段');
if(isFocus==0){
$(“#联系方式#电子邮件”).focus();
isFocus=1;
}
isError=1;
}否则{
变量reg=/^([A-Za-z0-9\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,4})$/;
如果(注册测试(电子邮件)=错误){
$('#contactForm#errorEmail').html('无效电子邮件地址');
if(isFocus==0){
$(“#联系方式#电子邮件”).focus();
isFocus=1;
}
isError=1;
}
}
如果(消息==''){
$(“#contactForm#errorMessage”).html('这是必填字段');
if(isFocus==0){
$(“#联系人表单#消息”).focus();
isFocus=1;
}
isError=1;
}
//如果发现错误,请终止脚本
如果(isError==1){
$('#contactForm#formProgress').html('';
$(“#contactForm#formProgress”).hide();
//激活提交按钮
$(“#联系人表单#提交”).attr(“已禁用”);
返回false;
}
$.ajaxSetup({
缓存:false
});
var dataString='name='+name+'&email='+email+'&subject='+subject+'&message='+message;
$.ajax({
类型:“POST”,
url:“php/submit form ajax.php”,
数据:dataString,
成功:功能(msg){
//警报(msg);
//检查邮件是否已成功发送
如果(消息=='Mail sent'){
//更新进度条
$('contactForm#formProgress').html('messagesent')。delay(2000)。fadeOut(400);
//清除主题字段和消息文本框
$(“#联系方式#主题”).val(“”);
$('#contactForm#message').val('');
}否则{
$('#contactForm#formProgress').html('';
警报('发送电子邮件时出错。请重试');
}
//激活提交按钮
$(“#联系人表单#提交”).attr(“已禁用”);
},
错误:函数(ob,errStr){
$('#contactForm#formProgress').html('';
警报('发送电子邮件时出错。请重试');
//激活提交按钮
$(“#联系人表单#提交”).attr(“已禁用”);
}
});
返回false;
});
});
您最好使用HTML5属性作为“默认值”。要支持所有浏览器,可以使用poly填充旧浏览器的插件来支持
占位符


对于验证,如果默认情况下您指的是初始值
value=“No Subject”
,则最好使用广泛使用的插件,如果输入为空,您可以修改分配变量以说明该值

var name = $('#contactForm #name');
name = $.trim(name.val()) || name.prop("defaultValue");
...
var email = ....