2015-05-13 8 views
-1

Я здесь, потому что я просто разбираюсь в javascript, и у меня есть функция с страницей входа только для одного пользователя. Код работает отлично, если вы ошибаетесь, но когда вы печатаете все правильно, страница просто обновляется. Я пробовал с "location =" "" и window.open но такая же ошибка. Вот код: Форма входа в систему для входа в систему

function login(form) { 
if (form.id.value=="a") { 
if (form.pass.value=="b") {    
window.location.assign("file.html") 
} else { 
alert("Error! \n Invalid password. \n Please try again.") 
} 
} else { alert("Error! \n Invalid username. \n Please try again!") 
} 
} 

</script> 

<form method="POST"> 

<input type="text" id="name" class="textbox" placeholder="Username" name="id"></input><br/> 

<input type="password" id="pass" class="textbox" placeholder="Password" name="pass"></input><br/> 

<input type="submit" id="send" value="Log in" class="submit" onClick="login(this.form);"></input> 

</form> 

Некоторую помощь здесь?

+0

Я был бы осторожен с попыткой проверки паролей в javascript. ОЧЕНЬ легко понять, какие действительные значения ... – user2366842

+0

Это просто для обучения и тестирования. –

+0

@ user2366842 Учитывая основной уровень этого приложения, я бы не стал беспокоиться о лучших практиках. Весьма вероятно, что Попа Габиэль находится в процессе изучения языка. –

ответ

0

Чтобы перенаправить на нужное вам место, ваш метод должен вернуть false, чтобы предотвратить действие по умолчанию (я также взял на себя ответственность за очистку ваших и password чеков).

<script> 
    function login(form) { 
     if (form.id.value === "a" && form.pass.value === "b") { 
      window.location.assign("file.html"); 
     } else { 
      alert("Error! \n Invalid username or password. \n Please try again!"); 
     } 
     return false;//add this here 
    } 
</script> 

И изменить кнопку отправки, чтобы вернуть значение вызова метода:

<input type="submit" id="send" value="Log in" class="submit" onclick="return login(this.form);"/> 

Затем вы должны получить желаемые результаты. В будущем лучше проверить эти значения и выполнить перенаправления на стороне сервера (например, PHP).

Смежные вопросы