Ошибки формы регистрации - PullRequest
       8

Ошибки формы регистрации

0 голосов
/ 21 сентября 2019

Я не уверен, что я делаю неправильно.Предупреждения не появляются, и это просто дает мне страницу «нет данных».Я перепробовал все, но я недостаточно хорош, чтобы увидеть ошибки в моем коде.Я новичок в этом, поэтому я не уверен, какие ошибки я сделал и как их исправить, чтобы весь код работал вместе.

<html> 
<head> 
<script> 
function ValidateForm()                              
{ 
var Username = document.forms["MyForm"]["Username"];             
var password = document.forms["Myform"]["Password"]; 
var First Name = document.forms["Myform"]["First Name"]; 
var Last Name = document.forms["Myform"]["Last Name"];
var DOB = document.forms["Myform"]["DOB"]";
var email = document.forms["Myform"]["EMail"]; 
var phone = document.forms["Myform"]["Telephone"]; 
var what = document.forms["Myform"]["Subject"]; 


if (Username.value == "")                                
{ 
    window.alert("Please enter your username.");  
    return false; 
} 

if (password.value == "")                    
{ 
    window.alert("Please enter your password"); 
    return false; 
} 

if (First Name.value == "")                          
{ 
    window.alert("Please enter First Name."); 
     return false; 
} 

if (Last Name.value == "")                           
{ 
    window.alert("Please enter your Last Name."); 
     return false; 
}

if (DOB.value == "")                             
{ 
    window.alert("Please enter your Date of Birth."); 
     return false; 
}
if (email.value == "")                               
{ 
    window.alert("Please enter a valid e-mail address.");  
    return false; 
} 

if (email.value.indexOf("@", 0) < 0)                 
{ 
    wndiow.alert("Please enter a valid e-mail address.");  
    return false; 
} 

if (email.value.indexOf(".", 0) < 0)                 
{ 
    window.alert("Please enter a valid e-mail address.");  
    return false; 
} 

if (phone.value == "")                       
{ 
    window.alert("Please enter your telephone number."); 
    return false; 
} 


return true; 
}
}
</script> 



<body> 
<h1 style="text-align: Left"> REGISTRATION FORM </h1>        
<form name="MyForm" action="/submit.php" onsubmit="return Registration Form Complete()" 
method="post"> 

<p>Username: <input type="text" size=20 name="Username"> (At least 8 Characters)</p>     
<p>Password: <input type="text" size=20 name="Password"> (At least 8 characters) </p> 
<p>First Name: <input type="text" size=20 name="First Name"> </p> 
<p>Last Name:   <input type="text" size=20 name="Last Name"> </p> 
<p>Date of Birth: <input type="text" size=20 name="DOB"> (mm/dd/yyy)</p> 
<p>E-mail Address: <input type="text" size=20 name="EMail"> </p> 
<p>Telephone: <input type="text" size=20 name="phone"> (Optional) </p> 
<p><input type="submit" value="submit" name="Submit">    
    <input type="reset" value="Reset" name="Reset"> 
</p>         
</form> 
</body> 
</html> 

Ответы [ 2 ]

1 голос
/ 21 сентября 2019

Yo имел некоторые ошибки

  • document.forms возвращает коллекцию, к которой отдельные формы могут быть доступны по индексу document.forms[0], а не по имени document.forms['MyForm']

  • имена переменных не могут содержать пробел javascript 101

  • вам необходимо вызвать метод validateForm <form onsubmit="return ValidateForm()"></form>

function ValidateForm() {
  var myForm = document.forms[0];
  var Username = myForm["Username"];
  var password = myForm["Password"];
  var FirstName = myForm["First Name"];
  var LastName = myForm["Last Name"];
  var DOB = myForm["DOB"];
  var email = myForm["EMail"];
  var phone = myForm["Telephone"];
  var what = myForm["Subject"];


  if (Username.value == "") {
    window.alert("Please enter your username.");
    return false;
  }

  if (password.value == "") {
    window.alert("Please enter your password");
    return false;
  }

  if (FirstName.value == "") {
    window.alert("Please enter First Name.");
    return false;
  }

  if (LastName.value == "") {
    window.alert("Please enter your Last Name.");
    return false;
  }

  if (DOB.value == "") {
    window.alert("Please enter your Date of Birth.");
    return false;
  }
  if (email.value == "") {
    window.alert("Please enter a valid e-mail address.");
    return false;
  }

  if (email.value.indexOf("@", 0) < 0) {
    wndiow.alert("Please enter a valid e-mail address.");
    return false;
  }

  if (email.value.indexOf(".", 0) < 0) {
    window.alert("Please enter a valid e-mail address.");
    return false;
  }

  if (phone.value == "") {
    window.alert("Please enter your telephone number.");
    return false;
  }


  return true;
}
<h1 style="text-align: Left"> REGISTRATION FORM </h1>
<form name="MyForm" action="/submit.php" onSubmit="return ValidateForm()" method="post">

  <p>Username: <input type="text" size=20 name="Username"> (At least 8 Characters)</p>
  <p>Password: <input type="text" size=20 name="Password"> (At least 8 characters) </p>
  <p>First Name: <input type="text" size=20 name="First Name"> </p>
  <p>Last Name: <input type="text" size=20 name="Last Name"> </p>
  <p>Date of Birth: <input type="text" size=20 name="DOB"> (mm/dd/yyy)</p>
  <p>E-mail Address: <input type="text" size=20 name="EMail"> </p>
  <p>Telephone: <input type="text" size=20 name="phone"> (Optional) </p>
  <p><input type="submit" value="submit" name="Submit">
    <input type="reset" value="Reset" name="Reset">
  </p>
</form>
0 голосов
/ 21 сентября 2019

В строке 10 у вас есть дополнительная цитата.var DOB = document.forms["Myform"]["DOB"]"; Это могло вызвать синтаксические ошибки, которые могли бы повредить или сломать функцию.

Также в строке 79 измените <form name="MyForm" action="/submit.php" onsubmit="return Registration Form Complete()" method="post"> на <form name="MyForm" action="/submit.php" onsubmit="return ValidateForm()" method="post"> Вы ссылались на несуществующую функцию, поэтому, когдаформа была отправлена, она попыталась запустить функцию, которая не была определена.

Надеюсь, это помогло!

...