2015-12-12 3 views
1

может any1 объяснить это мне, почему это не работает? Вот сценарий Javascript Basic Login Function

<script type= "text/javascript"> 
 
function login() { 
 
var user = document.getElementById("username").value; 
 
var pass = document.getElementById("password").value; 
 
if(user == "lab18" && pass == "lab18") { 
 
    alert("Logged In"); 
 
    locate="new11.html" 
 
    return false; 
 
} else { 
 
    alert("wrong user/pass"); 
 
    return false; 
 
    } 
 
} 
 
</script> 
 

А вот форма:

<form name="Form" onsubmit="login()"> 
 
    <input type="submit" value="Log In" style = font-family:'Comic Sans Ms'>

+5

Просто голова .. Если вы проверяете пароль на стороне клиента, каждый может видеть, что пароль находится в текстовом формате. –

+2

что не работает? оповещение? перенаправить? – Shyju

+0

Я знаю, спасибо. Im просто любопытные функции обучения таким образом не делают ничего особенного. Ни один из них не работает. – Pelan

ответ

0

Важно отметить, что при отправке формы, он будет перенаправлять пользователя на страницу, указанную атрибутом action. При этом ваша форма не имеет action или method. Вы можете узнать больше о том, как построить правильную форму here.

Не обращайтесь к встроенному JavaScript со своим HTML, это хорошая привычка входить, поэтому я предлагаю вам добавить слушателя событий в вашу форму. Рассмотрим следующие изменения:

Я удалил атрибут onsubmit от вашей формы и дал ему уникальный ID:

<form id="myForm" name="Form"> 

Теперь давайте добавим обработчик события, когда ваша форма представляет (так как вы, кажется, не хотите, чтобы форма фактически представить, мы можем предотвратить это поведение по умолчанию не произошло):

document.querySelector("#myForm").addEventListener("submit", function(e){ 
    // Prevent the form from submitting 
    e.preventDefault(); 
    // login() will be called when the form is submitted 
    login(); 
}); 

Working Fiddle