Javascript form validator не работает

0

По какой-то причине моя форма не работает, она не дает мне какой-либо формы предупреждения, может ли кто-то привести меня в правильном направлении? Я потратил часы на поиски решения, и я ударил по кирпичной стене, попробовал то же самое и над. Может кто-то помочь и объяснить, что происходит, и где я ошибся?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script type="text/javascript src= " src="helpme.js" >
        </script>
        <link type="text/css" rel="stylesheet" href="Style.css"></link>
</head>

<body>
<div id="header">
</div>
<div id="main">
   <form name="myForm" method="">
   <p> Name</p>
   <input id="fName" type="text" />
   <input id="mName" type="text"  size="3">
   <input id="lName" type="text" "/> 
   <p>Age</p>
   <input id="age" type="number" name="age" placeholder="20" />
   <p>Email</p>
   <input id="email" type="text" name="email"/>
   <p>Gender</p>
   <input id="gender" type="text" name="gender" size="7" placeholder="male"/>
   <p> DOB:</p> <input type="date" name="DOB" id = "DOB"value="" size="10" placeholder="mm/dd/yyyy"/>
   <p>Height</p>
   <input type="number" id="height" name="height" placeholder="5" size="5"/>
   <p>Weight</p> 
   <input type="number" id="weight" name="weight"/>
   <p>Salary</p>
   <input type="number" id="salary" name="salary"/>
   <p>       
   <input type="submit" name="Submit" value="Submit" onClick="Validate()" />
   </p>
   </form>
</div>
</body>
</html>

Функция Java Script Validate() {

    var test= true;

    var fName = document.getElementById("fName").value;
    var mName = document.getElementById("mName").value;
    var lName = document.getElementById("lName").value;
    if (first==""||last=="")
    {
    window.alert("Enter your full name");
    test = false;
     }


    var age = document.getElementById("age").value;
    if (age==null||age=="" || age<1 || age >100)
     {
    window.alert("Enter your age");
    test = false;
      }

      var email = document.getElementById("email").value;
      var at=x.indexOf("@");
      var dot=x.lastIndexOf(".");
      if (at<1 || dot<at+2 || dot+2>=email.length)
      {
      window.alert("Not a valid e-mail address");
      test = false;
      }

var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
   && sex!="F" && sex!="f" && sex!="Female" && sex!="female")
  {
  window.alert("Enter your gender" +
  "\nMale,M,male,m" + "\nFemale,F,female,f");  

  test = false; 
  }

var dob = document.getElementById("DOB").value;
if (dob ==null)
  {
  window.alert("Enter your date of birth as shown MM/DD/YYYY");
  test = false;
  }


var height = document.getElementById("height").value;
if (height==""||height<1)
  {
  window.alert("Enter your weight");
  test = false;
  }


var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
  {
  window.alert("Enter your weight");
  test = false;
  }

var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
  {
 window.alert("Salary: Cannot Exceed $999999.99");
  test = false;
  }

}
  • 0
    Я попробовал все, и до сих пор нет всплывающих запрещенных полей
Теги:
validation
client-side
helpers

4 ответа

1

Проверьте путь к файлу.js, независимо от того, доступен ли файл в том же каталоге или нет, и попробуйте приведенный ниже javascript (helpme.js): -

function Validate(){
  var test= true;
  var fName = document.getElementById("fName").value;
    var mName = document.getElementById("mName").value;
    var lName = document.getElementById("lName").value;
    alert(fName);
if (first==""||last=="")
    {
    window.alert("Enter your full name");
    test = false;
     }


    var age = document.getElementById("age").value;
    if (age==null||age=="" || age<1 || age >100)
     {
    window.alert("Enter your age");
    test = false;
      }

      var email = document.getElementById("email").value;
      var at=x.indexOf("@");
      var dot=x.lastIndexOf(".");
      if (at<1 || dot<at+2 || dot+2>=email.length)
      {
      window.alert("Not a valid e-mail address");
      test = false;
      }

var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
   && sex!="F" && sex!="f" && sex!="Female" && sex!="female")
  {
  window.alert("Enter your gender" +
  "\nMale,M,male,m" + "\nFemale,F,female,f");  

  test = false; 
  }

var dob = document.getElementById("DOB").value;
if (dob ==null)
  {
  window.alert("Enter your date of birth as shown MM/DD/YYYY");
  test = false;
  }


var height = document.getElementById("height").value;
if (height==""||height<1)
  {
  window.alert("Enter your weight");
  test = false;
  }


var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
  {
  window.alert("Enter your weight");
  test = false;
  }

var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
  {
 window.alert("Salary: Cannot Exceed $999999.99");
  test = false;
  }

}

Надеюсь, это поможет вам.

  • 0
    Ive пытается это, и это все еще не работает
0

Используйте этот код:

это была проблема с неопределенными переменными сначала и последними
Теперь его работы великолепны
Удачи!

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script>
            function Validate() {

      // var test= true;

    var fName = document.getElementById("fName").value;
    var mName = document.getElementById("mName").value;
    var lName = document.getElementById("lName").value;
    if (fName==""||lName=="")
    {
    window.alert("Enter your full name");
    return false;
     }


    var age = document.getElementById("age").value;
    if (age==null||age=="" || age<1 || age >100)
     {
    window.alert("Enter your age");
    return false;
      }

      var email = document.getElementById("email").value;
      var at=x.indexOf("@");
      var dot=x.lastIndexOf(".");
      if (at<1 || dot<at+2 || dot+2>=email.length)
      {
      window.alert("Not a valid e-mail address");
    return false;
      }

var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
   && sex!="F" && sex!="f" && sex!="Female" && sex!="female")
  {
  window.alert("Enter your gender" +
  "\nMale,M,male,m" + "\nFemale,F,female,f");  

    return false;
  }

var dob = document.getElementById("DOB").value;
if (dob ==null)
  {
  window.alert("Enter your date of birth as shown MM/DD/YYYY");
    return false;
  }


var height = document.getElementById("height").value;
if (height==""||height<1)
  {
  window.alert("Enter your weight");
    return false;
  }


var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
  {
  window.alert("Enter your weight");
    return false;
  }

var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
  {
 window.alert("Salary: Cannot Exceed $999999.99");
    return false;
  }
    return true;
}
        </script>
        <link type="text/css" rel="stylesheet" href="Style.css"></link>
</head>

<body>
<div id="header">
</div>
<div id="main">
    <form name="myForm" method="POST" onsubmit="Validate()">
   <p> Name</p>
   <input id="fName" type="text" />
   <input id="mName" type="text"  size="3">
   <input id="lName" type="text" "/> 
   <p>Age</p>
   <input id="age" type="number" name="age" placeholder="20" />
   <p>Email</p>
   <input id="email" type="text" name="email"/>
   <p>Gender</p>
   <input id="gender" type="text" name="gender" size="7" placeholder="male"/>
   <p> DOB:</p> <input type="date" name="DOB" id = "DOB"value="" size="10" placeholder="mm/dd/yyyy"/>
   <p>Height</p>
   <input type="number" id="height" name="height" placeholder="5" size="5"/>
   <p>Weight</p> 
   <input type="number" id="weight" name="weight"/>
   <p>Salary</p>
   <input type="number" id="salary" name="salary"/>
   <p>       
   <input type="submit" name="Submit" value="Submit" />
   </p>
   </form>
</div>
</body>
</html>
0

Пожалуйста, используйте для этого событие onsubmit

<form onsubmit="Validate()">

Верните false, если проверка не прошла, не назначайте test = false, просто верните false.

    function Validate() {

      // var test= true;

    var fName = document.getElementById("fName").value;
    var mName = document.getElementById("mName").value;
    var lName = document.getElementById("lName").value;
    if (first==""||last=="")
    {
    window.alert("Enter your full name");
    return false;
     }


    var age = document.getElementById("age").value;
    if (age==null||age=="" || age<1 || age >100)
     {
    window.alert("Enter your age");
    return false;
      }

      var email = document.getElementById("email").value;
      var at=x.indexOf("@");
      var dot=x.lastIndexOf(".");
      if (at<1 || dot<at+2 || dot+2>=email.length)
      {
      window.alert("Not a valid e-mail address");
    return false;
      }

var sex = document.getElementById("gender").value;
if (sex!="M" && sex!="m" && sex!="Male" && sex!="male"
   && sex!="F" && sex!="f" && sex!="Female" && sex!="female")
  {
  window.alert("Enter your gender" +
  "\nMale,M,male,m" + "\nFemale,F,female,f");  

    return false;
  }

var dob = document.getElementById("DOB").value;
if (dob ==null)
  {
  window.alert("Enter your date of birth as shown MM/DD/YYYY");
    return false;
  }


var height = document.getElementById("height").value;
if (height==""||height<1)
  {
  window.alert("Enter your weight");
    return false;
  }


var weight = document.getElementById("weight").value;
if (weight==""||weight<1 && weight>600)
  {
  window.alert("Enter your weight");
    return false;
  }

var salary = document.getElementsById("salary").value;
if (isNaN(salary)|| salary> 999999.99|| salary<1 )
  {
 window.alert("Salary: Cannot Exceed $999999.99");
    return false;
  }
    return true;
}
  • 0
    Ive пытается это, и это все еще не работает
0

Вы можете изменить тип ввода с "submit" на кнопку, и он отлично работает.

Однако ваш JS-код вызывает некоторую ошибку, которую, я думаю, вы можете исправить. Первый и последний ключевые слова не определены.

Благодарю. Сообщите мне о любых других уточнениях.

 <input type="button" name="Submit" value="Submit" onClick="Validate()" />
  • 0
    Ive пытается это, и это все еще не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню