Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему форма отправляется, даже когда заполнена не полностью? (https://javascript.ru/forum/misc/73177-pochemu-forma-otpravlyaetsya-dazhe-kogda-zapolnena-ne-polnostyu.html)

Artur457t4756y4 27.03.2018 10:28

Почему форма отправляется, даже когда заполнена не полностью?
 
<div class="registrate">
<form action="ATravelstar_mycb.php" method="post" name="Reg" onsubmit="return check()">
<div class="Close_registation" onclick="CloseRegistration()">
<p> ❌</p>
</div>
<h2 align="center">Регистрация</h2>
<label> E-mail:</label>
<p>
<input class="input" name="E_mail" type="text" value= "" />
</p>
<label> Имя:</label>
<p>
<input class="input" name="Name" type="text" value= "" />
</p>
<label> Фамилия:</label>
<p>
<input class="input" name="Sirname" type="text" value= "" />
</p>
<label> Пароль:</label>
<p>
<input class="input" name="Password" type="password" value= ""/>
</p>
<label> Повтор пароля</label>
<p>
<input class="input" name="Password2" type="password" value= ""/>
</p>
<p>
<input class="button2" type="submit" name="registration"  value="Регистрация" />
</p>
</form>
</div>









let check = () => {
let form = document.forms[0].elements;
var flag = true;

for (let i = 0; i < form.length-1; i++) {
let issetEror = form[i].parentNode.getElementsByClassName("eror");
if (!form[i]["value"]) {
if (!issetEror[0] ) {
form[i].style.borderColor = "red";
let name = form[i].name;
let p = document.createElement("p");
p.setAttribute("class", "eror");
p.style.color = "red";
p.innerHTML =`Заполните ${name}`;
form[i].parentNode.insertBefore(p, form[i]);
}
flag = false;
console.log(flag);
}
else {
form[i].style.borderColor = "";
if (issetEror){
issetEror[0].remove();
}
}
}
return flag;
}

j0hnik 27.03.2018 10:30

http://htmlbook.ru/html/input/required

Artur457t4756y4 27.03.2018 10:36

Цитата:

Сообщение от j0hnik (Сообщение 481541)

Это да, но эта функция блокирует javascrip, который подключен к форме


Часовой пояс GMT +3, время: 12:36.