1

我正在使用 java 脚本验证 php 表单数据,但表单在没有验证的情况下发送数据。我在创建此表单验证时是否犯了任何错误。HTM 代码为:

<form name="form1" action="sendmail.php" onSubmit="return validateform1();" method="post">
    <table>
        <tbody>
            <tr><td><input id="name" class="w200" name="name" type="text" value="Your Name" onFocus="if(this.value=='Your Name')this.value=''" onBlur="if(this.value=='')this.value='Your Name'"></td></tr>
            <tr><td><input id="cname" class="w200" name="cname" type="text" value="Company Name" onFocus="if(this.value=='Company Name')this.value=''" onBlur="if(this.value=='')this.value='Company Name'"></td></tr>
            <tr><td><input class="w200" name="email" type="text" value="Your Email ID" onFocus="if(this.value=='Your Email ID')this,value=''" onBlur="if(this.value=='')this.value='Your Email ID'"></td></tr>
            <tr><td><input class="w200" name="mno" type="text" value="Mobile No." onFocus="if(this.value=='Mobile No.')this.value=''" onBlur="if(this.value=='')this.value='Mobile No.'"></td></tr>
            <tr><td><input class="w200" name="country" type="text" value="Country" onFocus="if(this.value=='Country')this.value=''" onBlur="if(this.value=='')this.value='Country'"></td></tr>
            <tr><td><textarea class="w200n h60" name="message" cols="23" rows="4" onFocus="if(this.value=='Requirements')this.value=''" onBlur="if(this.value=='')this.value='Requirements'">Requirements</textarea></td></tr>
            <tr><td><input type="submit" value="Submit"><input name="reset" type="reset" value="Reset"></td></tr>
        </tbody>
    </table>
</form>

这个表单验证的java脚本是:

<script language="javascript">
    function validateform1() {
        if($document.form1.name.value=="") {
            alert("Enter Name");
            return false;
        }

        if($document.form1.cname.value=="") {
            alert("Please enter company name");
            return false;
        }

        if($document.form1.email.value=="") {
            alert("Please enter your email");
            return false;
        }

        if($document.form1.mno.value=="") {
            alert("Please enter your mobile no.");
            return false;
        }

        if($document.form1.country.value=="") {
            alert("Please enter country");
            return false;
        }
    }
</script>
4

3 回答 3

2

没有必要在 "$document" 中使用 $

你应该只使用“文档”

这是你应该尝试的:

<script language="javascript">
function validateform1()
{
if(document.form1.name.value=="")
{
alert("Enter Name");
return false;
}
else if(document.form1.cname.value=="")
{
alert("Please enter company name");
return false;
}
else if(document.form1.email.value=="")
{
alert("Please enter your email");
return false;
}
else if(document.form1.mno.value=="")
{
alert("Please enter your mobile no.");
return false;
}
else if(document.form1.country.value=="")
{
alert("Please enter country");
return false;
}
else
{
    return true;
    }
}
</script>

并在表单的“onSubmit”事件上调用 validateform1()。

于 2013-10-13T08:55:40.020 回答
1

只需对所有字段执行此操作,因为您已经为输入类型分配了值Your Name,我们需要检查它是否Your namenull

if(document.form1.name.value=="Your Name" || document.form1.name.value=="")

于 2013-10-13T08:53:26.557 回答
1

如果没有条件触发和返回false,则需要return true;在最后一个闭合波浪括号 ( }) 之前结束。

澄清一下:我会这样写函数:

function validateform1() {
  if(document.form1.name.value=="") {
    alert("Enter Name");
    return false;
  }
  else if(document.form1.cname.value=="") {
    alert("Please enter company name");
    return false;
  }
  else if(document.form1.email.value=="") {
    alert("Please enter your email");
    return false;
  }
  else if(document.form1.mno.value=="") {
    alert("Please enter your mobile no.");
    return false;
  }
  else if(document.form1.country.value=="") {
    alert("Please enter country");
    return false;
  }
  return true;
}
于 2013-10-13T08:54:26.630 回答