Ошибка ссылки: проверка формы не определена в HTMLFormElement.onsubmit

#javascript #html #function

#язык JavaScript #HTML #функция

Вопрос:

Я пытаюсь вызвать функцию… Но я продолжаю получать эту ошибку.. Как мне решить эту проблему?

Ошибки я получаю это: индекс.HTML-код?электронная почта=amp;gebruikersnaam=amp;wachtwoord=amp;представить=предъявить:1 непойманные ReferenceError: formValidation не определен в HTMLFormElement.onsubmit (индекса.HTML-код?электронная почта=amp;gebruikersnaam=amp;wachtwoord=amp;представить=предъявить:1) индекс onsubmit @.HTML-код?электронная почта=amp;gebruikersnaam=amp;wachtwoord=amp;представить=предъявить:1

HTML

 lt;script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"gt;lt;/scriptgt; lt;script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"gt;lt;/scriptgt; lt;script src="../assets/js/controllers/registerController.js"gt;lt;/scriptgt; lt;script src="../assets/js/registrationValidation.js"gt;lt;/scriptgt; lt;!------ Include the above in your HEAD tag ----------gt;  lt;!DOCTYPE htmlgt; lt;htmlgt;  lt;headgt;  lt;titlegt;My Awesome Login Pagelt;/titlegt;  lt;link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"  integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"gt;  lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt;  lt;link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css"  integrity="sha384-gfdkjb5BdAXd lj gudLWI BXq4IuLW5IT brZEZsLFm  aCMlF1V92rMkPaX4PP" crossorigin="anonymous"gt;  lt;script src="../assets/js/controllers/registerController.js"gt;lt;/scriptgt;  lt;script src="../assets/js/registrationValidation.js"gt;lt;/scriptgt; lt;/headgt;  lt;body class="bodytop"gt; lt;div class="container h-100 h200"gt;  lt;div class="d-flex justify-content-center h-100"gt;  lt;div class="user_card"gt;  lt;div class="d-flex justify-content-center"gt;  lt;div class="brand_logo_container"gt;  lt;img src="https://cdn.freebiesupply.com/logos/large/2x/pinterest-circle-logo-png-transparent.png"  class="brand_logo" alt="Logo"gt;  lt;/divgt;  lt;/divgt;  lt;div class="d-flex justify-content-center form_container"gt;   lt;form name="registratieForm" onsubmit="return formValidation();"gt;  lt;div class="input-group mb-3 registreer-form"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-user"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="text" name="email" class="form-control input_user" value="" placeholder="email"gt;  lt;/divgt;   lt;div class="input-group mb-3"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-user"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="text" name="gebruikersnaam" class="form-control input_user" value="" placeholder="gebruikersnaam"gt;  lt;/divgt;   lt;div class="input-group mb-2"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-key"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="password" name="wachtwoord" class="form-control input_pass" value="" placeholder="wachtwoord"gt;  lt;/divgt;      lt;div class="d-flex justify-content-center mt-3 login_container"gt;  lt;button type="submit" name="submit" value="Submit" class="btn login_btn"gt;Registreerlt;/buttongt;  lt;/divgt;  lt;/formgt;  lt;/divgt;   lt;/divgt;  lt;/divgt; lt;/divgt; lt;/bodygt; lt;/htmlgt;  

Язык JavaScript

 function formValidation() {  var email = document.registration.email;  var wachtwoord = document.registration.wachtwoord;  var gebruikersnaam = document.registration.gebruikersnaam;    if (email_validation(email, 5, 12)) {  if (wachtwoord_validation(wachtwoord, 7, 12)) {  if (allLetter(gebruikersnaam)) {  }  }  }  return false; }  function wachtwoord_validation(wachtwoord,mx,my) {  var wachtwoord_len = wachtwoord.value.length;  if (wachtwoord_len == 0 ||wachtwoord_len gt;= my || wachtwoord_len lt; mx)  {  alert("Wachtwoord hoort niet leeg te zijn / lengte moet tussen de " mx " tot " my);  wachtwoord.focus();  return false;  }  return true; }  function allLetter(gebruikersnaam) {  var letters = /^[A-Za-z] $/;  if(gebruikersnaam.value.match(letters))  {  return true;  }  else  {  alert('Gebruikersnaam mag alleen alfabetische letters hebben.');  gebruikersnaam.focus();  return false;  } }  function email_validation(email) {  var mailformat = /^w ([.-]?w )*@w ([.-]?w )*(.w{2,3}) $/;  if(email.value.match(mailformat))  {  return true;  }  else  {  alert("Het ingevulde email is ongeldig!");  email.focus();  return false;  } }  

Комментарии:

1. 1. У вас есть сценарии вне документа. В комментарии говорится, что вы должны включить их в теги заголовков. 2. jQuery ВСЕГДА приходит раньше bootstrap.js

Ответ №1:

  1. не уверен, почему у вас есть сценарии вне документа.
  2. jQuery ДОЛЖЕН быть загружен перед загрузкой и использовать ту же версию CSS, что и JS
  3. Опечатка: Имя формы-Форма регистрации
  4. Вам действительно нужна высота на этом изображении
     var email = document.registratieForm.email; var wachtwoord = document.registratieForm.wachtwoord; var gebruikersnaam = document.registratieForm.gebruikersnaam;  
 function formValidation() {  var email = document.registratieForm.email;  var wachtwoord = document.registratieForm.wachtwoord;  var gebruikersnaam = document.registratieForm.gebruikersnaam;    if (email_validation(email, 5, 12)) {  if (wachtwoord_validation(wachtwoord, 7, 12)) {  if (allLetter(gebruikersnaam)) {}  }  }  return false; }  function wachtwoord_validation(wachtwoord, mx, my) {  var wachtwoord_len = wachtwoord.value.length;  if (wachtwoord_len == 0 || wachtwoord_len gt;= my || wachtwoord_len lt; mx) {  alert("Wachtwoord hoort niet leeg te zijn / lengte moet tussen de "   mx   " tot "   my);  wachtwoord.focus();  return false;  }  return true; }  function allLetter(gebruikersnaam) {  var letters = /^[A-Za-z] $/;  if (gebruikersnaam.value.match(letters)) {  return true;  } else {  alert('Gebruikersnaam mag alleen alfabetische letters hebben.');  gebruikersnaam.focus();  return false;  } }  function email_validation(email) {  var mailformat = /^w ([.-]?w )*@w ([.-]?w )*(.w{2,3}) $/;  if (email.value.match(mailformat)) {  return true;  } else {  alert("Het ingevulde email is ongeldig!");  email.focus();  return false;  } } 
 .brand_logo {  height: 50px } 
 lt;!DOCTYPE htmlgt; lt;htmlgt;  lt;headgt;  lt;titlegt;My Awesome Login Pagelt;/titlegt;  lt;link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"gt;  lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt;  lt;script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"gt;lt;/scriptgt;   lt;link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd lj gudLWI BXq4IuLW5IT brZEZsLFm  aCMlF1V92rMkPaX4PP" crossorigin="anonymous"gt;  lt;script src="../assets/js/controllers/registerController.js"gt;lt;/scriptgt;  lt;script src="../assets/js/registrationValidation.js"gt;lt;/scriptgt; lt;/headgt;  lt;body class="bodytop"gt;  lt;div class="container h-100 h200"gt;  lt;div class="d-flex justify-content-center h-100"gt;  lt;div class="user_card"gt;  lt;div class="d-flex justify-content-center"gt;  lt;div class="brand_logo_container"gt;  lt;img src="https://cdn.freebiesupply.com/logos/large/2x/pinterest-circle-logo-png-transparent.png" class="brand_logo" alt="Logo"gt;  lt;/divgt;  lt;/divgt;  lt;div class="d-flex justify-content-center form_container"gt;   lt;form name="registratieForm" onsubmit="return formValidation();"gt;  lt;div class="input-group mb-3 registreer-form"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-user"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="text" name="email" class="form-control input_user" value="" placeholder="email"gt;  lt;/divgt;   lt;div class="input-group mb-3"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-user"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="text" name="gebruikersnaam" class="form-control input_user" value="" placeholder="gebruikersnaam"gt;  lt;/divgt;   lt;div class="input-group mb-2"gt;  lt;div class="input-group-append"gt;  lt;span class="input-group-text"gt;lt;i class="fas fa-key"gt;lt;/igt;lt;/spangt;  lt;/divgt;  lt;input type="password" name="wachtwoord" class="form-control input_pass" value="" placeholder="wachtwoord"gt;  lt;/divgt;      lt;div class="d-flex justify-content-center mt-3 login_container"gt;  lt;button type="submit" name="submit" value="Submit" class="btn login_btn"gt;Registreerlt;/buttongt;  lt;/divgt;  lt;/formgt;  lt;/divgt;   lt;/divgt;  lt;/divgt;  lt;/divgt; lt;/bodygt;  lt;/htmlgt;