devotionMedlem sedan jan. 20013 582 inlägg :e God jul!
Kan man göra något litet script som lägger en textruta över websidan efter det att formuläret skickats och datat skrivits till databasen?
Dvs
-Klicka på submit
-Datat skickas till db
-Scripåt startar och visar textruta med text "Uppdraget har uppdaterats!" 2 ggr
-slut
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg God Jul! :bire
På sidan i action-attributet:
<script>
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);
}
</script>
<style>
#mu{
background-color: #eee;
border : 1px solid #777;
height : 100px;
font-size : 18px;
left : 50%;
margin-left : -175px;
margin-top : -100px;
padding-top : 35px;
position : absolute;
text-align : center;
top : 50%;
visibility : hidden;
width : 300px;
}
</style>
<div id="mu">Uppdraget har uppdaterats!</div>
devotionMedlem sedan jan. 20013 582 inlägg Hejsan! :)
Vet inte om jag gjort fel, men rutan visas hela tiden... :(
Sidan är en asp-sida som har både formulär och "databaskod" på samma sida. (använder If request.("submitknapp") <> "" then...)
ska jag lägga någon kod vid formuläret eller submitknappen eller något annat? Nu har jag bara lagt in den rakt av s a s...
Mvh
Henrik
devotionMedlem sedan jan. 20013 582 inlägg
devotion skrev:
Hejsan! :)
Vet inte om jag gjort fel, men rutan visas hela tiden... :(
Jo givetvis hade jag ju gjort fel....
Hade lagt lagt in
<div id="mu">Uppdraget har uppdaterats!</div>
Fel...
Nu funkar det så att det blinkar när sidan laddas om efter inserten...
Problemet är bara att det blinkar när jag går till sidan. Dvs laddar formuläret...
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg Jag skulle göra så här:
if request("submitknapp") <> "" then
' skriv ut javascript-delen i <head>
end if
' i <body>
if request("submitknapp") <> "" then
' skriv ut <div>:en
end if
:)
devotionMedlem sedan jan. 20013 582 inlägg Tja :)
' i <body>
if request("submitknapp") <> "" then
' skriv ut <div>:en
end if
Det fixar jag... men hur menar du méd det andra
if request("submitknapp") <> "" then
' skriv ut javascript-delen i <head>
end if
mvh
henrik
devotionMedlem sedan jan. 20013 582 inlägg hmm, tror jag fattar vad du menar... har nog ätit för mycket julmat...
**testar**
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg På liknande sätt som med <div>:en
<head>
<% if request("submitknapp") <> "" then %>
<script>
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);
}
</script>
<style>
#mu{
background-color: #eee;
border : 1px solid #777;
height : 100px;
font-size : 18px;
left : 50%;
margin-left : -175px;
margin-top : -100px;
padding-top : 35px;
position : absolute;
text-align : center;
top : 50%;
visibility : hidden;
width : 300px;
}
</style>
<% end if %>
</head>
:)
devotionMedlem sedan jan. 20013 582 inlägg hmmm...
Nu har jag lagt in:
<% If request("updateTask") <> "" 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 %>
och
If request("updateTask") <> "" then
response.write "<div id=""mu"">Uppdraget har uppdaterats!</div>"
End if
Men det visas ingenting vid uppdatering...
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg Jag bifogar ett exempel. Öppna index.html och submitta formuläret. :)
devotionMedlem sedan jan. 20013 582 inlägg hmmmmm
Ditt exempel funkar ju finfint... grrr..... ;)
skickar oxå en fil....
Får inte till det....
Henrik
devotionMedlem sedan jan. 20013 582 inlägg hmmm...
Kan det vara den här raden som spökar...
Response.redirect "Task.asp"
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg Det kan bero på att du i body.onload har
disableelements(taskForm);
Testa den bifogade filen. :)
devotionMedlem sedan jan. 20013 582 inlägg hmmm nix
om jag däremot tog bort:
'Response.redirect "Task.asp"
På rad 304 då funkade det fint....
Men jag vill ju ha en omladdning av sidan för att ladda de senaste värdena från db... hur att göra?
Mvh
Henrik
Peter SMedlem sedan dec. 20025 483 inlägg Testa att ta bort den raden och
window.onload = function(){
var mu = document.getElementById("mu"),
c = 0,
t = window.setInterval(function(){
if (++c == 2){ window.clearInterval(t); [b]location.reload();[/b] }
mu.style.visibility = "visible";
window.setTimeout("mu.style.visibility = 'hidden'", 500);
}, 1000);
}
devotionMedlem sedan jan. 20013 582 inlägg hehe, det blir alltid sådana maratontrådar...
Det fungerar så pass att meddelandet kommer och fönstret laddas om... Men sen kommer meddelandet:
Den här sidan kan inte uppdateras autan att informationen skickas igen...
-Försök igen- -Avbryt-
Sen hamnar den i vinkelvolten och bara laddar om, laddar om, laddar om, laddar om....
Mvh
henrik
devotionMedlem sedan jan. 20013 582 inlägg nähä.. nu får det vara nog för den här gången....
Får inte till det...
gonatt!
Mvh
henrik
devotionMedlem sedan jan. 20013 582 inlägg Hej! :)
Ny dag nya möjligheter... ;)
Jag har gjort så här nu och det fungerar "nästan"
window.onload = function(){
<% If session("iStatus") > 0 And session("iStatus") < 4 Then %>
disableelements(taskForm);
<% End If %>
<% If request("updateTask") <> "" then %>
var mu = document.getElementById("mu"),
c = 0,
t = window.setInterval(function(){
if (++c == 2){ window.clearInterval(t); [B]parent.frames['mainFrame'].location.href='task.asp';[/B]}
mu.style.visibility = "visible";
window.setTimeout("mu.style.visibility = 'hidden'", 500);
}, 1000);
<% End If %>
}
Att det bara fungerar "nästan" är följande:
-jag gör en uppdatering, meddelandet visas, de nya värdena i formuläret visas dock inte på en gång då dessa inte har något "minne". i nästa ögonblick så uppdateras dock sidan och de nya värdena läses från databasen...
Det är mest en kosmetisk fråga, men det är inte så "snyggt" jag vill ju inte ha det där mellanledet.... Det blev ju inte så när jag körde response.redirect....
Några ideer...
Kanske skulle få till "minnesfunktionen" för formulärfälten istället....
Mvh
Henrik
Peter SMedlem sedan dec. 20025 483 inlägg Du kanske kan visa meddelandet efter det att task.asp laddats den sista gången. Använd din ursprungliga kod med response.redirect och skicka med en querystring-variabel - typ response.redirect "task.asp?update=yes". Sedan:
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 %>
}
devotionMedlem sedan jan. 20013 582 inlägg Hopp! :)
Nu så!
Nu verkar det fungera så som det är tänkt....
Jag bifogar filen om du ser något konstigt kan du väl hojta till!
Förresten hur styr jag "blinkningen" dvs hur många ggr det ska blinka och tiderna den visas?
Mvh
henrik