webForumDet fria alternativet

Disable bakstegsknappen

JavaScript

27 svar · 705 visningar · startad av Addeladde · sida 2 av 2

Frågan, av Addeladde

Hej Hur förhindrar man så att man inte kan trycka på bakstegsknappen på en sida? /Andreas

Läs frågan i sin helhet →
Medlem sedan jan. 20013 406 inlägg
#21

Fungerar inte för mig

Medlem sedan dec. 20025 483 inlägg
#22

Kan du visa den kod du använder?

:)

Medlem sedan jan. 20013 406 inlägg
#23

Det här fungerar tycär inte för mig.

<html>
<head>
<script>
var f = false;

document.onkeydown = function(){
	if(event.keyCode==8 && !f) return false;
};

window.onload = function(){
	for(var i=0; i<document.forms.length; i++){
		for(var j=0; j<document.forms[i].elements.length; j++){
			document.forms[i].elements[j].onfocus = function(){
				f = true;
			}
			document.forms[i].elements[j].onblur = function(){
				f = false;
			}
		}
	}
};
</script>
</head>
<body>
<form method="post" name="test" id ="formTest" action="">
<input type="hidden" value="" name=" test>
</form
<body>
</html>
Medlem sedan dec. 20025 483 inlägg
#24

För det första finns det ingen slutsnuff för "name"-attributet på <input>-taggen. För det andra saknas det ett ">"-tecken efter "<form". För det tredje använder du ett <input>-fält av typen "hidden", då blir det svårt att testa att radera information i textfältet. ;)

:)

Medlem sedan jan. 20013 406 inlägg
#25

Nu har jag ändrat lite i koden men det går fortfarande att gå bakåt med bakstegsknappen. Den första koden ovan skrev jag för hand därför de konstiga felen. Igentligen så har jag löst problemet på den sidan som jag behöver funktionen genom att lägga till onBlur och onFocus på alla textinputs genom en replace. Gick ganska fort. Men det vore ju kul om det här gick att lösa. Input fälten på den sidan jag skulle behövt koden till ligger inte i någon form kanske jag ska tillägga.

[1]
<html>
<title>Test</title>
<head>
<script language="JavaScript1.4">
var f = false;

document.onkeydown = function(){
	if(event.keyCode==8 && !f) return false;
};

window.onload = function(){
	for(var i=0; i<document.forms.length; i++){
		for(var j=0; j<document.forms[i].elements.length; j++){
			document.forms[i].elements[j].onfocus = function(){
				f = true;
			}
			document.forms[i].elements[j].onblur = function(){
				f = false;
			}
		}
	}
};
</script>
</head>
<body>
  <form method="post" name="test" id ="formTest" action="">
    <input type="text" value="" name="test">
  </form>
<body>
</html>
Medlem sedan dec. 20025 483 inlägg
#26

Ta bort "JavaScript1.4".

Input fälten på den sidan jag skulle behövt koden till ligger inte i någon form kanske jag ska tillägga.

Och där har du anledningen till varför det inte fungerar :bire

:)

Medlem sedan jan. 20013 406 inlägg
#27

Ok, tack för all hjälp. Vädigt uppskattat :bire

Medlem sedan dec. 20025 483 inlägg
#28

Bara kul att kunna hjälpa till.

:)

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)