Problem z formularzem logowania oraz formularz z liczeniem pola i obwodu

0

Wklejam dwa kody:
1.LOGOWANIE

<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<body>
		<script type="text/javascript">
		function logowanie(formularz){
		if (formularz.login.value=="kowalski"&formularz.pass.value=="123456")
		windows.location.replace("strona.html");
		else
		window.location.replace("");
		}
		</script>
		<form name="formularz1">
		Login: <input type="text" name="login"> <br> <br>
		Hasło: <input type="password" name="pass"> <br> <br>
		<input type="button" value="Logowanie..." onClick="logowanie(this.form)">
		</form>
	</head>
	</body>
</html>

Problem z nim jest taki że po kliknięciu zaloguj nic się nie dzieje.A powinno przekierować na strone.html ewentualnie wyświetlić komunikat o braku wpisaniu L/H

2.Pole i obwód prostokąta

<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<body>
		<script type="text/javascript">
		function licz(formularz){
		if (formularz.a.value==""|formularz.b.value=="")
		alert("Wprowadź dane");
		else{
		a=formularz.a.value;
		b=formularz.b.value;
		formularz.p.value=a*b;
		formularz.o.value=2*a=2*b;
		}
		}
		</script>
		<form name="formularz1" action="">
		Podaj bok a: <input type="text" name="a"> <br> <br>
		Podaj bok b: <input type="text" name="b"> <br> <br>
		<input type="button" value="Oblicz" onClick="licz(this.form)"> <br> <br>
		Wynik:<br> <br>
		Pole prostokąta: <input type="text" name="p"> <br> <br>
		Obwód prostokąta: <input type="text" name="o">
		</form>
	</head>
	</body>
</html>

Tutaj problem jest podobny, po wciśnięciu przycisku oblicz nie wyświetla wyników tak jakby nie działał.

3
  1. Nie masz tam żadnych komunikatów, masz dwie sytuacje:
if (formularz.login.value=="kowalski"&formularz.pass.value=="123456")

a) jeśli podasz powyższe dane usiłuje faktycznie zmienić url, ale polecenie jest błędne: windows.location.replace
b) jeśli podasz jakieś inne zamienia url na "", co skutkuje przeładowaniem aktualnej strony, bo JS stara się domyślić, że to taki pusty parametr adresu.

Swoją drogą, jeśli to ma być cokolwiek innego niż zabawa, to taka metoda hasłowania dostępu jest kompletnie bez sensu.
Od biedy można by zrobić tak, żeby JS generował w oparciu o podane hasło jakiś ukrty adres typu sdfksf09w439ofsjflasjfa09ga9f.htm a JS na docelowej stronie starał się go później usuwać z historii, ale to też jest słabe zabezpieczenie dostępu.

  1. Tu masz błąd:
formularz.o.value=2*a=2*b;

p.s. Używaj konsoli przeglądarki, to zobaczysz od razu większość błędów.

3

Próbujesz debugować poprzez wstawianie console.log()? Jeśli nie, to wstaw na początku funkcji logowanie i sprawdź, czy w ogóle jest ona wykonywana. Jeśli tak, to umieszczasz w ifie itd. aż znajdziesz miejsce gdzie kod się nie wykonuje i przez to program nie działa. Analogicznie z funkcją licz. Tak najprościej metodą prób i błędów możesz dociec, co jest nie tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1