Avatar billede rose Nybegynder
11. november 2005 - 10:38 Der er 7 kommentarer og
1 løsning

Luk confirm box hvis intet svar

Hejsa alle
Jeg mangler en måde hvorpå en confirm box automatisk svarer 'ok' hvis man ikke har svaret inden x sekunder.
Det må gerne være forholdsvis simpelt... :-)
------------------------------------------------------
<script type="text/javascript">
window.setTimeout("formSubmit()",3000);
function formSubmit()
{

    x = confirm("Er du færdig?");   
    if(x == true) document.forms['myForm'].submit();

    else
    window.setTimeout("formSubmit()",3000);
}
</script>
------------------------------------------------------
Håber der er nogen der kan hjælpe mig... :-)
Avatar billede Slettet bruger
11. november 2005 - 10:59 #1
Det kan du ikke.
Avatar billede rose Nybegynder
11. november 2005 - 11:03 #2
Det mener jeg nu man kan... Ved bare ikke helt hvordan...
Avatar billede Slettet bruger
11. november 2005 - 11:10 #3
Jamen så men du bare det :)
Avatar billede elskermad.dk Nybegynder
11. november 2005 - 12:39 #4
så skal du jo lave din egen confirm-boks via noget divs og javascript :)
Avatar billede mm12010 Nybegynder
11. november 2005 - 13:26 #5
eller et nyt vindue:

<script type="text/javascript">
time=3000;
window.setTimeout("formSubmit()",time);
function formSubmit()
{
    confirmWin=window.open("","","width=200,height=100,top="+parseInt(screen.height/2-300)+",left="+parseInt((screen.width-200)/2)+",location=no,status=no");
    txt='<ht'+'ml><he'+'ad><ti'+'tle>Er du færdig?<\57ti'+'tle>';
    txt+='<\57he'+'ad><bo'+'dy style="overflow:hidden;';
    txt+='border:0px;text-align:center;" onblur="self.focus();"';
    txt+=' onload="setTimeout(\47window.opener.document.';
    txt+='forms[\\42myForm\\42].submit();self.close()\47,'+time+');">';
    txt+='Er du færdig?<b'+'r><but'+'ton onclick="window.opener.';
    txt+='document.forms[\47myForm\47].submit();self.close();">';
    txt+='&nbsp;Ja&nbsp;<\57but'+'ton>&nbsp;&nbsp;<but'+'ton oncl';
    txt+='ick="window.opener.setTimeout(\47formSubmit()\47,'+time+')';
    txt+=';self.close();">&nbsp;Nej&nbsp;<\57but'+'ton><\57bo'+'dy><\57ht'+'ml>';
    confirmWin.document.write(txt);
    confirmWin.document.close();
    window.setTimeout("if(confirmWin.closed)formSubmit()",time+500);
}
</script>
Avatar billede olebole Juniormester
11. november 2005 - 13:40 #6
<ole>

Tro og religion er fint ... man kan bare ikke kode web på basis af tro. Det er ikke muligt at lukke en confirm, med mindre en bruger har klikket på en af knapperne  :)

/mvh
</bole>
Avatar billede rose Nybegynder
14. november 2005 - 09:21 #7
Jamen når du siger det på den måde olebole så er jeg nok tilbøjelig til at tro dig... :)
Men siger man ikke også at tro kan flytte bjerge? :-)

Nej jeg lukker den igen og prøver at finde på noget andet....
Tak for kommentarene alle sammen...
Avatar billede olebole Juniormester
14. november 2005 - 18:10 #8
En lille test viser tydeligt, at en confirm-boks er modal - hvilket betyder, at intet JS kan kaldes/afvikles, sålænge boksen er synlig. Det er jo hele idéen med den slags dialog-bokse:

<script type="text/JavaScript">
var inx = 0;
function foo() {
    document.getElementById("bar").innerHTML = inx++;
}
window.onload = function () {
    setInterval("foo()", 500);
}
</script>

<div id="bar">&nbsp;</div>

<button onclick="confirm('Læg mærke til, al JS stopper, mens jeg er fremme :)')">TEST</button>
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