<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>JSexample</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript.js"></script>
</head>
<body>
<form action="" method="post" name="test" id="form">
<label for="name">Имя:</label>
<input type="text" name="name" placeholder="Имя" id="name" /> <br/><br/>
<label for="password">Пароль:</label>
<input type="password" name="password" placeholder="Пароль" id="password" /> <br/><br/>
<label for="RePassword">Проверка пароля</label>
<input type="password" name="RePassword" placeholder="Введите пароль" id="RePassword"/> <br/><br/>
<span>Укажите пол (ваш)</span>
<input type="radio" name="state" id="state1" value="Мужской"/>
<label for="state1">Женский</label>
<input type="radio" name="state" id="state2" value="Женский"/>
<label for="state2">Мужской</label>
<br/><br/>
<input type = "submit" onclick="valid(document.getElementById('form'))" name="submit" value="Готово"/>
</form>
</body>
</html>
function valid(form){
var fail = false;
var name = form.name.value;
var password = form.password.value;
var Repassword = form.Repassword.value;
var state = form.state.value;
if( name == "" || name==" "){
fail = "Вы не ввели свое имя!";
}
else if(password == ""){
fail = "Вы не ввели пароль";
}
else if(password != Repassword){
fail = "пароли не совпадают";
}
else if(state == ""){
fail = "Укажите пол";
}
if(fail){
alert(fail)
} else{
}
Почему когда я заполняю форму (просто ввожу символы чтобы проверить) и после нажимаю готово. У меня не не вылезает окошка если я например не заполню какою нибудь форму (я всё подключил в хроме) вот типа такого окошка
<script type="text/javascript.js"></script>
src) кто указывать будет?type неверный - лучше его вообще удалить.<input type = "submit" onclick="valid(document.getElementById('form'))" name="submit" value="Готово"/>
Надо не на click подписываться, а на отправку формы.
function valid(form){
Что-то подозрительный отступ. Это точно глобальная функция, а не локальная внутри самовызывающейся?
Потому что Ваш javascript не завернут в тэг <script> и находится непонятно где - снаружи <html>.
Догадываюсь, что этот код находится в файле. Хорошо.
var Repassword = form.RePassword.value;
-- обратите внимание на регистр буквы P в form.RePassword.value.
Ну и желательно что-нибудь вернуть из функции, если Вы хотите отменить отправку незаполненной формы.
if(fail){
alert(fail);
return false;
}
onclick="return valid(document.getElementById('form'))"
Тогда он у вас не подключен ???
Вот рабочий код:
function valid(form){
var fail = false;
var name = form.name.value;
var password = form.password.value;
var RePassword = form.RePassword.value;
var state = form.state.value;
if( name == "" || name==" "){
fail = "Вы не ввели свое имя!";
}
else if(password == ""){
fail = "Вы не ввели пароль";
}
else if(password != RePassword){
fail = "пароли не совпадают";
}
else if(state == ""){
fail = "Укажите пол";
}
if(fail){
alert(fail);}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости