Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单验证工作不正常,未检查条目即可继续_Javascript_Css_Html - Fatal编程技术网

Javascript 表单验证工作不正常,未检查条目即可继续

Javascript 表单验证工作不正常,未检查条目即可继续,javascript,css,html,Javascript,Css,Html,Javascript中的代码如下: <script type="text/javascript"> function validateForm() { var firstname=document.getElementById("firstname").value; var tel=document.getElementById("tel").value; var textarea=document.getElementById("textarea").v

Javascript
中的代码如下:

<script  type="text/javascript">

function validateForm()
{
    var firstname=document.getElementById("firstname").value;
    var tel=document.getElementById("tel").value;
    var textarea=document.getElementById("textarea").value
    var email1=document.getElementById("email1").value;
    var email2=document.getElementById("email2").value;

if(validate_req(firstname,tel,textarea,email1,email2)==true&&
validate_name(firstname)==true&&
isnumeric(tel)==true&&
isAlpha(prof)==true&&
validate_email(email1)==true&&
validate_email(email2)==true&&
equal_emails(email1,email2)==true)
return true;
else
return false;}

function validate_req(firstname, tel,textarea,email1,email2)
{ if(firstname==null || firstname==" ")
    {alert("Please enter your first name");
    return false;
    }
if(tel==null || tel==" ")
    {alert("Please enter your telephone");
    return false;
    }
if(email1==null || email1==" ")
    {alert("Please enter your email");
    return false;
    }
if(email2==null || email2==" ")
    {alert("Please repeat your email");
    return false;
    }
if(textarea==null || textarea==" ")
    {alert("Please enter your message");
    return false;
    }
    return true;
}

function validate_name(firstname){
    if(firstname.length>20){
        alert("Name is longer than 20 characters");
        return false;
    }
    return true;
}
function isNumeric(tel)
    var numberpattern = /^(-0+[0-9]{2}-)[0-9]{3}-[0-9]{4}$/;

    if(numberPattern.test(tel)==false){
        alert("Please enter correct telephone number");
        return false;
    }
    else return true;
    }
function validate_email(email1){
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    if(emailPattern.test(email1)==false{
        alert("Please check your email");
        return false;
    }
    else return true;
}
function equal_emails(email1,email2){
    if(email1!=email2){
        alert("Email are not the same");
        return false;
        }
        return true;
}
</script>    

函数validateForm()
{
var firstname=document.getElementById(“firstname”).value;
var tel=document.getElementById(“tel”).value;
var textarea=document.getElementById(“textarea”).value
var email1=document.getElementById(“email1”).value;
var email2=document.getElementById(“email2”).value;
if(validate_req(firstname、tel、textarea、email1、email2)=true&&
验证\u name(firstname)=true&&
isnumeric(电话)=真&&
isAlpha(教授)=真&&
验证电子邮件(email1)=真&&
验证电子邮件(email2)=真&&
相等的电子邮件(email1、email2)==true)
返回true;
其他的
返回false;}
功能验证请求(名字、电话、文本区、电子邮件1、电子邮件2)
{if(firstname==null | | firstname==“”)
{提醒(“请输入您的名字”);
返回false;
}
如果(电话==null | |电话==“”)
{提醒(“请输入您的电话”);
返回false;
}
如果(email1==null | | email1==“”)
{提醒(“请输入您的电子邮件”);
返回false;
}
如果(email2==null | | email2==“”)
{提醒(“请重复您的电子邮件”);
返回false;
}
如果(textarea==null | | textarea==“”)
{提醒(“请输入您的信息”);
返回false;
}
返回true;
}
函数名(firstname){
如果(firstname.length>20){
警报(“名称超过20个字符”);
返回false;
}
返回true;
}
函数为数字(tel)
var numberpattern=/^(-0+[0-9]{2}-[0-9]{3}-[0-9]{4}$/;
如果(数字模式测试(电话)=错误){
警报(“请输入正确的电话号码”);
返回false;
}
否则返回true;
}
功能验证\u电子邮件(email1){
var emailPattern=/^[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\[a-zA-Z]{2,4}$/;
if(emailPattern.test(email1)=false{
提醒(“请检查您的电子邮件”);
返回false;
}
否则返回true;
}
功能等同电子邮件(email1、email2){
如果(email1!=email2){
提醒(“电子邮件不一样”);
返回false;
}
返回true;
}
表格的代码如下所示:

 <form action="confirm.html" method="post" onSubmit="return validateForm();">
<table width="50%" border="3" cellspacing="3%" cellpadding="3%" id="table1">
<tbody>
<tr>
  <th colspan="2" style="text-align: center" scope="col" >Contact Us by Filling Out The Form</th>
  </tr>
<tr>
  <td colspan="2">Required field*</td>
  </tr>
<tr>
  <td width="44%"><label for="firstname">Name:*</label></td>
  <td width="56%"><input name="firstname" type="text" id="firstname" maxlength="20"></td>
</tr>
<tr>
  <td><label for="address">Address:</label></td>
  <td><input type="text" name="address" id="address"></td>
</tr>
<tr>
  <td><label for="email1">Email:*</label></td>
  <td><input type="email" name="email1" id="email1"></td>
</tr>
<tr>
  <td><label for="email2">Retype your Email:*</label></td>
  <td><input type="email" name="email2" id="email2"></td>
</tr>
<tr>
  <td>Are you a member of our website?</td>
  <td><p>
    <label>
      <input type="radio" name="RadioGroup1" value="Member" id="RadioGroup1_0">
      Member
    </label>
    <br>
    <label>
      <input type="radio" name="RadioGroup1" value="Non-member" id="RadioGroup1_1">
      Non-member
    </label>
    <br>
  </p></td>
</tr>
<tr>
  <td><label for="tel">Telephone number:*</label></td>
  <td><input type="tel" name="tel" id="tel"></td>
</tr>
<tr>
  <td><label for="textarea">Queries/ Comments:*</label></td>
  <td><textarea name="textarea" id="textarea"></textarea></td>
</tr>
<tr>
  <td colspan="2"><input type="submit" name="submit" id="submit" value="Submit"></td>
  </tr>
</tbody>
</table>
</form>

请填写表格与我们联系
必填字段*
姓名:*
地址:
电邮:*
重新键入您的电子邮件:*
你是我们网站的会员吗?

成员

非成员

电话号码:* 查询/评论:*

按下提交按钮后,表单继续
confirm.html
,而不检查条目。我可以将它们留空,我可以在名字字段中写入字母,它仍然继续进入确认页面。我不确定为什么会发生这种情况,所以我决定问你们。

首先,故障似乎与if条件有关。请检查这是不正确的

if(firstname==null || firstname==" ")
    {alert("Please enter your first name");
    return false;
    }
您可以将此更改为

if (firstname) {
    if (firstname.trim().length === 0) {
        alert("Please enter your first name");
        return false;
    }
} else {
    alert("Please enter your first name");
    return false;
}
同样,您也需要对其他if条件执行相同的操作。if条件中也有一个空格
firstname==null | | firstname==“”


修复这些问题,代码应该可以正常运行。此外,最好正确缩进代码,因为它会影响可读性,并使调试更容易。Cheers

首先,故障似乎与if条件有关。您的检查不正确

if(firstname==null || firstname==" ")
    {alert("Please enter your first name");
    return false;
    }
您可以将此更改为

if (firstname) {
    if (firstname.trim().length === 0) {
        alert("Please enter your first name");
        return false;
    }
} else {
    alert("Please enter your first name");
    return false;
}
同样,您也需要对其他if条件执行相同的操作。if条件中也有一个空格
firstname==null | | firstname==“”

修复这些问题,代码应该可以正常运行。此外,最好正确缩进代码,因为它会影响可读性,并使调试更容易。干杯

除了一些区分大小写的错误/问题外,您的代码还可以

例如:

if(validate_req(firstname,tel,textarea,email1,email2)==true&&
    validate_name(firstname)==true&&
    isnumeric(tel)==true <----- isnumeric() doesn't exist, but isNumeric() does.
除了一些区分大小写的错误/问题外,您的代码很好

例如:

if(validate_req(firstname,tel,textarea,email1,email2)==true&&
    validate_name(firstname)==true&&
    isnumeric(tel)==true <----- isnumeric() doesn't exist, but isNumeric() does.

$(按钮).on(单击,函数submitForm()){
如果(形式==有效){
.....
}
}


$(按钮).on(单击,函数submitForm()){
如果(形式==有效){
.....
}

}

您的javascript中有各种各样的错误。难怪它没有按预期触发。
isnumeric(tel)==true
当您的函数名为
isnumeric()时
还有其他一些类似的。从讲师那里得到了代码…看起来她做得不是最好的。你的javascript中有各种各样的错误。难怪它没有按预期触发。
isnumeric(tel)==true
当你的函数名为
isnumeric()
还有其他一些类似的。从讲师那里得到了代码…看起来她做得不是最好的。它不是完全正确的。看看这篇文章,例如,如果(firstname==null | | firstname==”),注意空格吗?我纠正了代码的语法。
firstname==“”
不是一个错误。它只是检查
firstname
是否是一个空格。也许这就是OP想要的?如果检查是一个空格,那会很奇怪-因为我认为一般来说,检查空值或空值是有意义的。然后额外的检查是验证字符,它们的长度etcI完全一致。也许这不是最好的答案,尽管它解决了一些问题。OP的代码需要完全重写,我现在没有时间。它不是完全正确的。看看这篇文章,例如,如果(firstname==null | | firstname==“”),注意空格吗?我更正了代码的语法。
firstname=“”
不是一个错误。它只是检查
firstname
是否是一个空格。也许这就是OP想要的?如果检查是一个空格,那会很奇怪-因为我认为一般来说,检查空值或空值是有意义的。然后额外的检查是验证字符,它们的长度etcI完全一致。也许这不是最好的答案,尽管它解决了一些问题。OP的代码需要完全重写,而我没有足够的时间