Avatar billede akyhne Nybegynder
10. juli 2008 - 01:11 Der er 8 kommentarer og
1 løsning

Javascript skal submitte form

Jeg har dette reload script der virker fint:

<script LANGUAGE="JavaScript" type="text/javascript">
var taeller = 15;
var minu
var sek
function opdater(){
taeller--;
minu = Math.floor(taeller / 60);
sek = taeller % 60;
time.innerHTML="  "+minu+" min." + " &amp; "+sek+" secs. to next update";
timerID=window.setTimeout("opdater();",1000);
if (taeller == 0){location.href = "<?php echo $_SERVER['PHP_SELF']; ?>";}

}
</script>

Der er en form på siden med en dropdown og en sublmit knap. Den valgte værdi skal videreføres ved scriptets reload som om det var submit kanppen der var blevet trykket på.

Kan det lade sig gøre? Således at i stedet for at "location.href = "<?php echo $_SERVER['PHP_SELF']; ?>";" køres, aktiveres knappen. Eller er der en lettere metode?

Jeg er som sædvanlig på bar bund med javascript..
Avatar billede roenving Novice
10. juli 2008 - 01:17 #1
if (taeller == 0){document.forms[0].submit();} ?-)
Avatar billede akyhne Nybegynder
10. juli 2008 - 01:25 #2
Hvor er det bare super nemt, hvad :-)

Det går så legende let at det er til at græde over. Jeg har sagt det før. Jeg kan en del VBA, en del PHP, men fatter brille af JavaScript. Jeg fatter simpelthen ikke hvorfor det ikke trænger ind.

Smid et svar. Selvfølgelig virker det *SSS*
Avatar billede akyhne Nybegynder
10. juli 2008 - 01:33 #3
Et lille sidespørgsmål:

Det virker, men submitknappen bliver så ikke aktiveret. Jeg bruger nu denne kode til at se om formen er sat

if ( isset($_POST['Submitrace']) ) {

..hvor Submitrace er min Submit knap.


Hvordan fanger jeg så nu om formen har været aktiveret?
Avatar billede erikjacobsen Ekspert
10. juli 2008 - 08:44 #4
Spørg på et af de andre felter i formen. Eventuelt laver du et hiddenfelt uden andet formål end at have et navn du kan teste på.
Avatar billede akyhne Nybegynder
10. juli 2008 - 08:58 #5
S'følgelig...bummer, men jeg kommer til at tænke på at det er total lige meget, da det der skal skrives til databasen ikke behøver nogen betingelser da det skal ske ved alle former for reload af siden. Men ellers tak. Jeg tror hjernen kørte på tomgang i aftes.
Avatar billede w13 Novice
10. juli 2008 - 14:42 #6
Og så ville jeg nok rette:

time.innerHTML="  "+minu+" min." + " &amp; "+sek+" secs. to next update";

til:

time.firstChild.nodeValue="  "+minu+" min." + " &amp; "+sek+" secs. to next update";

Det kræver dog, at der som standard står noget i time-feltet, men det kan jo bare være "&nbsp;".
Avatar billede roenving Novice
10. juli 2008 - 15:58 #7
-- og det kan være, at det er nødvendigt, for at det skal virke i alle browsere:

document.getElementById("time").firstChild.nodeValue="  "+minu+" min. &amp; "+sek+" secs. to next update";

-- og det kræver at feltet har id="time" !-)

Velbekomme '-)
Avatar billede akyhne Nybegynder
10. juli 2008 - 17:28 #8
Takker for de gode råd.
Avatar billede roenving Novice
10. juli 2008 - 17:35 #9
-- og jeg takker for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester