Почему не работает код? Что я не так делаю? JS

172
16 декабря 2019, 08:20

Код:

function valid(regForm) { 
  var error = false; 
  var name = regForm.name.value; 
  var pass = regForm.password.value; 
  var rePass = regForm.rePassword.value; 
  var email = regForm.email.value; 
  var gender = regForm.gender.value; 
 
  if (name == "" || name = " ") { 
    error = "Вы не ввели свое имя"; 
  } 
  if (error) { 
    alert(error); 
  } else { 
    window.location = "https//:google.com"; 
  } 
}
<form action="" , method="post" , name="regForm" , id="regForm"> 
  <label for="name">Имя:</label> 
  <input type="text" name="name" , id="name" , placeholder="Введите имя"><br><br> 
  <label for="password">Пароль:</label> 
  <input type="password" name="password" , id="password" , placeholder="Введите пароль"><br><br> 
  <label for="rePassword">Проверка пароля:</label> 
  <input type="password" name="rePassword" , id="rePassword" , placeholder="Повторите пароль"><br><br> 
  <label for="email">E-mail:</label> 
  <input type="email" name="email" , id="email" , placeholder="Введите E-mail"><br><br> 
  <input type="radio" name="gender" , id="male" , value="Мужской"> 
  <label for="male">Мужской</label> 
  <input type="radio" name="gender" , id="female" , value="Женский"> 
  <label for="female">Женский</label><br><br> 
  <input type="button" value="Готово!" name="button" id="button" onclick="valid(getElementsByTagName('regForm'))"> 
</form>

Answer 1

Потому что name и tagName - разные вещи.

onclick="valid(document.getElementById('regForm'))"

Не говоря уже о том, что getElementsByTagName возвращает коллекцию элементов.

Answer 2
  1. в услвои должно быть сравнение и пишется "==", а у вас как равно "="
  2. ошибка во втором условии у вас ссылка не верная "https//:google.com", а надо так "https://google.com/"

P.S. Достаточно просто написать

if (name === ""){
    alert('Вы не ввели свое имя');
} else {
 window.location = "https://google.com/";
}
Answer 3

Поменял имя входной переменной функции (понятия не имею почему не нравилось прежнее) и всё заработало (странно, но все же). html без изменений, вот js:

function valid(form){
var error = false;
var name = form.name.value;
var pass = form.password.value;
var rePass = form.rePassword.value;
var email = form.email.value;
var gender = form.gender.value;
if (name == "" || name == " "){
error ="Вы не ввели свое имя";
}
if (error) {
alert(error);
}else{
window.location = "https://www.google.com/";
}
}
READ ALSO
Canvas создание нескольких счетчиков

Canvas создание нескольких счетчиков

Подскажите, как создать несколько холстов со счетчиками которые работали по логике одной функцииПриведу пример

148
умный автоскроллинг на JS?

умный автоскроллинг на JS?

Есть JS функция, которая по заданному интервалу автоматически прокручивает вниз страницу в другом фреймеПодскажите, как сделать, чтобы она...

135
PHP MySQL запрос SELECT SUM() GROUP BY

PHP MySQL запрос SELECT SUM() GROUP BY

Помогите составить запрос в PHP кодеНужно подсчитать баланс по id в таблице

169
PHP7 вставка в MySQl через переменную

PHP7 вставка в MySQl через переменную

Перепробовал много вариантов, но не работаетПодскажите, где ошибка:

140