webForumDet fria alternativet

Meddelande om man inte submittar ett formulär

JavaScript

5 svar · 342 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag har en sida där man fyller i ett formulär. På den sidan skulle jag vilja ha en funktion att om man inte klickar på submit ska det komma upp en fråga: "Är du säker på att du vill lämna sidan utan att spara?" Ja/Nej/Avbryt

Klickar man på nej eller avbyt ska sidan givetvis inte gå vidare och klickar man på ja ska sidan gå till den sidan man valt.

Det ska behöver bara funka för IE 5.5 och senare!

Medlem sedan maj 200161 inlägg
#2

Nedanstående kod gör följande.

1. Klickar du på skicka så får du inget meddelande.
2. Lämnar du sidan via en länk eller bara skriver in en ny adress i adressfältet så får du upp en "confirm" ruta.

Dock så stannar man inte kvar på sidan trots att man klickar på avbryt... men det är en liten bit på vägen, finns säkert någon här som har koll på hur man fixar det.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

	<title> titel </title>
	<script language="javascript">

	var bekrafta = true;

	function lamnaSidan() {
		if (bekrafta) {
			if (confirm("Är du säker på att du vill lämna sidan utan att spara?")) {
				return true;
			}
			else {
				return false;
			}

		}
		else {
			document.form_namn.submit();
		}
	}
	</script>
</head>

<body onbeforeunload="lamnaSidan();">

<form name="form_namn" onSubmit="bekrafta = false;">
<input type="text" name="filen">
<input type="submit" value="Skicka">
</form>

</body>
</html>
Medlem sedan jan. 20013 406 inlägg
#3

Ingen som vet hur man stoppar sidan från att gå vidare?

Medlem sedan juni 20014 421 inlägg
#4

Baka in denna kod i den andra koden du fick så skall det funka.

<script language="JavaScript">
         window.event.returnValue= "Är du säker på att du vill lämna sidan utan att spara?" 
         window.event.cancelBubble=true;
</script>
Medlem sedan jan. 20013 406 inlägg
#5

Får fortfarande upp en ruta när jag submittar formuläret.

   var bekrafta = true;

	function lamnaSidan() {
		if (bekrafta == true) {
		 window.event.returnValue= "Om du lämnar sidan utan att spara kommer alla ändringar att gå förlorade." 
         window.event.cancelBubble=true;

		}
		else {
			return true;
		}
	}
<form onsubmit="bekrafta = false">
Medlem sedan jan. 20013 406 inlägg
#6

Det här funkar, var en annan funktionen som gjorde att det inte fungerade.

291 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
145 ms — ändringar (db)