我正在尝试通过检查表单中的以下字段是否已填写来进行表单验证以验证信息请求表单:
▪姓名字段
▪电子邮件字段
▪评论
我的函数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>
答案 0 :(得分: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');
}
}