webForumDet fria alternativet

Blinkande meddelande efter submit till databas.

29 svar · 858 visningar · startad av devotion · sida 2 av 2

Peter SMedlem sedan dec. 20025 483 inlägg
#21

I if (++c == 2) kan du ändra '2' till det antal blinkningar du vill ha.

'1000' = 1 sekund anger hur lång tid det är mellan de gånger lagret visas. '500' = 0,5 sekunder anger efter hur lång tid lagret skall döljas, efter varje visning. :)

devotionMedlem sedan jan. 20013 582 inlägg
#22

Hej igen... :)

Det var som du sa i ett inlägg, att funktionen:

disableelements(taskForm);

hindrar...

Hur kan man lösa det:

<script type="text/javascript">
function disableelements(f){
	var elms = f.elements,
	len = elms.length;
	for (var i = 0; i < len; ++i){
		elms[i].disabled=true;
	}
	taskForm.taskStatus.disabled = false;
	taskForm.updateTask.disabled = false;
	return true;
}

<%
dim upd
upd = Request.QueryString("update") & ""
If upd = "yes" then %>
	window.onload = function(){
	  var mu = document.getElementById("mu"),
		  c  = 0,
		  t  = window.setInterval(function(){
		if (++c == 2){ window.clearInterval(t) }
		mu.style.visibility = "visible";
		window.setTimeout("mu.style.visibility = 'hidden'", 500);
		  }, 1000);
	}
<% end if %>
</script>

...

If session("iStatus") > 0 And session("iStatus") < 4 Then
	Response.write "<body onload=""disableelements(taskForm);"">"
Else
	Response.write "<body>"
End If		

...

If request.querystring("update")= "yes" then
	response.write "<div id=""mu"">Uppdraget har uppdaterats!</div>"
End if
Peter SMedlem sedan dec. 20025 483 inlägg
#23

Så här kanske:

window.onload = function(){
  <%
  dim upd
  upd = Request.QueryString("update") & ""
  If upd = "yes" then %>

  var mu = document.getElementById("mu"),
      c  = 0,
      t  = window.setInterval(function(){
	     if (++c == 2){ window.clearInterval(t) }
	     mu.style.visibility = "visible";
	     window.setTimeout("mu.style.visibility = 'hidden'", 500);
		}, 1000);
<% end if %>
<% If session("iStatus") > 0 And session("iStatus") < 4 Then %>
  disableelements(taskForm);
<% End If %>
}

Response.write "<body>"

:)

Red./ Postar en alternativ lösning också:

var c = 0, mu;

window.onload = function(){
  mu = document.getElementById("mu");

  // time until first message is shown
  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 200);
}

function blnk(){
  if (c++ == 2){
    mu.style.visibility = "hidden";
    return;
  }

  // the time a message is shown
  window.setTimeout("mu.style.visibility = 'hidden'", 1000);

  // this time - above time, is the time between each message
  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 2500);
}
devotionMedlem sedan jan. 20013 582 inlägg
#24

Den var ju fin...

Nu ser min kod ut så här och den fungerar klockrent... nästan :)

window.onload = function(){
<%
dim upd
upd = Request.QueryString("update") & ""
If upd = "yes" then %>
	var c = 0, mu;
	
	  mu = document.getElementById("mu");
	
	  // time until first message is shown
	  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 200);
	}
	
	function blnk(){
	  if (c++ == 2){
		mu.style.visibility = "hidden";
		return;
	  }
	
	  // the time a message is shown
	  window.setTimeout("mu.style.visibility = 'hidden'", 1000);
	
	  // this time - above time, is the time between each message
	  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 2500);
	<% 
end if 
If session("iStatus") > 0 And session("iStatus") < 4 Then %>
  disableelements(taskForm);
<% End If %>
}

Det är bara:

disableelements(taskForm);

som spökar lite

allt disablas ju inte, inte listmenyn för uppdragsstatus och inte submitknappen...

Tanken är ju att listmenyn för uppdragsstaus ska bestämma när formulärelementen är disablade..

Mvh
henrik

Peter SMedlem sedan dec. 20025 483 inlägg
#25

Men allt skrivs ut som det skall ovan? Vad är taskForm?

Red./ Tittade i en av dina bifogade filer och det verkar som att du anropar funktionen med namnet på formuläret. Det kanske fungerar i IE, men du borde göra så här istället:

disableelements(document.forms.taskForm);

:)

devotionMedlem sedan jan. 20013 582 inlägg
#26

lägger ut de aktuella filerna..

Mvh
henrik

Peter SMedlem sedan dec. 20025 483 inlägg
#27

Hepp! :)

devotionMedlem sedan jan. 20013 582 inlägg
#28

x(
Ny fil....

Peter SMedlem sedan dec. 20025 483 inlägg
#29

. :)

devotionMedlem sedan jan. 20013 582 inlägg
#30

Man måste ju gör wf-anden glad också!

Den här tråden utvecklades till ett virrvarr, då jag försökte få ihp olika funktioner och hålla reda på olika variablers värden...

Själva ursprungsfrågan löstes dock ganska snabbt med hjälp av Peter S! Resten kunde härledas till andra problem med min kod...

Så, för att få ett blinkande meddelande efter det att databasen har uppdaterats kan man göra så här:

var c = 0, mu;

window.onload = function(){
  mu = document.getElementById("mu");

  // time until first message is shown
  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 200);
}

function blnk(){
  if (c++ == 2){
    mu.style.visibility = "hidden";
    return;
  }

  // the time a message is shown
  window.setTimeout("mu.style.visibility = 'hidden'", 1000);

  // this time - above time, is the time between each message
  window.setTimeout("mu.style.visibility = 'visible'; blnk()", 2500);
}

...

<div id=""mu"">Uppdraget har uppdaterats!</div>

Tack för all hjälp Peter S! :birp

Mvh
henrik

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)