3

我正在尝试通过检查表单中的以下字段是否已填写来进行表单验证以验证信息请求表单:

▪ 姓名字段
▪ 电子邮件字段
▪ 评论

我的函数 validateName() 根本不起作用,它会导致其他函数也不起作用(向字段添加默认值并在单击文本区域时删除默认值)。当我删除 validateName() 时,我之前创建的函数可以正常工作。应该注意的是,我已将 onsubmit="return validateName()" 添加到表单元素中。我还需要分别创建一个 validateEmail() 和 validateComments()。

我还希望 validateName()、validateEmail() 和 validateComments() 验证的函数检查以下内容:

▪ 提交时检查表单域是否为空 ▪ 提交时检查默认文本是否在表单域中

我已经注释掉了我尝试使用的 2 个 validateName() 函数,以便我的其他函数可以工作。

    function formtext(){
        document.contact.Name.value="Enter your name.";
        document.contact.Email.value="Enter your email address.";
        document.contact.questions.value="Enter your comments.";
    }
    function delete_email(){
        document.contact.Email.value = "";
    }
    function delete_name(){
        document.contact.Name.value = "";
    }
    function delete_comments(){
        document.contact.questions.value = "";
    }

   /* function validateName()
    {
        var x=document.contact.Name.value;
        if (x==null || x=="")

        {
            alert("Name must be filled out");
            return false;
        }
    }  */

    /* function validateName()
    {
        var x=document.contact.["Name"].value;
        if (x==null || x=="")
        {
            alert("Name must be filled out");
            return false;
        }
    }    */

</script>
4

1 回答 1

2
var defaultName == 'Please Enter Name', defaultEmail == 'Please Enter Email', defaultComment == 'Please Enter Comment';
function validateForm()
    {
        if(document.getElementById('namefield').value == '' || (document.getElementById('namefield').value == defaultName)
        {
            alert('Please enter name'); 
        }
        if(document.getElementById('emailfield').value == '' || (document.getElementById('emailfield').value == defaultEmail)
        {
            alert('Please enter email');    
        }
        if(document.getElementById('commentsfield').value == '' || (document.getElementById('commentsfield').value == defaultComment)
        {
            alert('Please enter comments'); 
        }
    }
于 2013-05-26T17:44:48.487 回答