Avatar billede mik28 Seniormester
05. juni 2004 - 19:35 Der er 13 kommentarer og
3 løsninger

andre muligheder end alert

Findes der ikke andre muligheder for kommunikation med brugeren end alert i JS. Jeg forstiller mig noget med en JA/NEJ til om noget skal udføres
Avatar billede fixxxer Nybegynder
05. juni 2004 - 19:39 #1
if (confirm('OK?')) {
  alert('Du trykkede OK')
}
else {
  alert('Du trykkede Annuller');
}
Avatar billede mireigi Novice
05. juni 2004 - 19:42 #2
if(confirm('Er du sikker på at du vil gøre dette? (Ok for Ja, Annuller for Nej)'))
  {
  //Her skriver du så de kommandoer du vil udføre hvis der trykkes "Ja/Ok"
  }
  else
  {
  //Her skriver du så de kommander di vil udføre hvis der trykkes "Nej/Annuller"
  }

/MiReiGi
Avatar billede mireigi Novice
05. juni 2004 - 19:43 #3
Eller skal du til at arbejde med layers, og så lave en tabel indeholdende en Ja/Nej-knap, med hver deres onclick="" funktion...

/MiReiGi
Avatar billede mik28 Seniormester
05. juni 2004 - 20:26 #4
hmmmmmmm. Der findes altså ikke andre muligheder end alert
Avatar billede mireigi Novice
05. juni 2004 - 20:39 #5
Jo... 2 sec... er næsten færdig med et udkast til en løsning der ihvertfald virker i IE6.0... Har ikke mulighed for at cross-browser teste det...

/MiReiGi
Avatar billede mireigi Novice
05. juni 2004 - 20:58 #6
Her er det så... Kan ikke få placeringen til at virke med "window.innerHeight", så den placerer boksen i forhold til hele skærmens størrelse, istedetfor browserens størrelse...

//Script start//

<!-- Minus AutoDato -->
<style>

.msg {position:absolute; width:200px; height:100px; visibility:hidden; layer-background-color:#cccccc; z-index:200; background-color:#000000; color:#ff0000; border:2px solid #0000ff; padding:5px;}

</style>


<script language="javascript">

    function showmsg()
        {
        vismsg.style.visibility = "visible"
        vismsg.style.top = eval(screen.availHeight/3) + "px"
        vismsg.style.left = eval(screen.availWidth/2.5) + "px"
        }

    function hidemsg()
        {
        vismsg.style.visibility = "hidden"
        }

    function popmsg(msg)
        {
        hidemsg()
        alert("De trykkede på " + msg)
        }

</script>

<body>

<div id="vismsg" class="msg">
Ønsker De virkelig at få beskeden vist?<br>
<br>
<p align="center"><input value="Ja" onclick="popmsg('Ja')" type="button">&nbsp;&nbsp;<input value="Nej" onclick="popmsg('Nej')" type="button"></p>
</div>
<br>
<input type="button" value="Vis besked" onclick="showmsg()">

</body>

//Script slut//

/MiReiGi
Avatar billede thesurfer Nybegynder
05. juni 2004 - 21:01 #7
..det hedder window.confirm(...), ellers virker det ikke i Mozilla browserne..
Avatar billede roenving Novice
05. juni 2004 - 21:05 #8
>>thesurfer

-- hvadfor skulle det være nødvendigt at sætte window foran lige confirm ?-)
Avatar billede thesurfer Nybegynder
05. juni 2004 - 21:08 #9
"confirm" alene virker ikke i Mozilla.. i hvert fald ikke Mozilla FireFox.. men det virker i Internet Explorer og Opera.
Men "window.confirm" virker i Opera, Internet Explorer og Mozilla FireFox.

Jeg har testet www.frip.dk med Mozilla FireFox. De bruger "confirm" til sletning, når man vælger at slette filer. Da "confirm" ikke virker i FireFox, kan man ikke slette filer.
Avatar billede mireigi Novice
05. juni 2004 - 21:15 #10
Ahh... Mesteren roenving er ankommet... Kan du ikke lige kaste et hurtigt blik på mit forslag, og så sige hvorfor det ikke virker med "window.innerHeight" og "window.innerWidth"???

Og så måske også lige ændre ændre "vismsg.style" til korrekt CSS... Har set at det gjort på følgende måde, men det virker ikke for mig:

vismsg.css.visibility = "hidden" / "visible"

/MiReiGi
Avatar billede roenving Novice
05. juni 2004 - 21:27 #11
confirm alene burde virke uden problemer i enhver Mozilla !-)

-- jeg har dog ikke en firefox, men en 1.5, men jeg kan ikke lige se en grund til at den regel, som siger, at man normalt kan udelade window. skulle fraviges i Firefox ...

-- og forklaringen på, at innerWidth/Height ikke virker er ganske simpelt, at dette ikke understøttes af IE !o]

-- og det, som er ukorrekt ift. DOM i din kode er den ukorrekte angivelse af objektet, da den forudsætter den til standarden afviste document.all ...

-- så det korrekte er:

function showmsg(){
  v = document.getElementById('vismsg').style;
  v.visibility = "visible"
  v.top = screen.availHeight/3 + "px"
  v.left = screen.availWidth/2.5 + "px"
}

function hidemsg(){
  document.getElementById('vismsg').style.visibility = "hidden"
}

-- og så fjernede jeg også den overflødige (og performance-mæssigt tunge) eval() ...
Avatar billede mireigi Novice
05. juni 2004 - 21:46 #12
Ok... Så ved jeg lidt mere...

Er det overhovedet muligt at angive det absolutte midpunkt i IE?

/MiReiGi
Avatar billede roenving Novice
05. juni 2004 - 22:23 #13
Prøv:

<div style="position:absolute;height:100px;width:100px;left:50%;top:50%;margin-top:-50px;margin-left:-50px;background:red;">Denne div er i midten !-)</div>
Avatar billede mireigi Novice
06. juni 2004 - 12:06 #14
Hmmm... Tjaaa... Det ser sådan ud... :D

/MiReiGi
Avatar billede mireigi Novice
07. juni 2004 - 11:29 #15
mik28 -> Hvis du har modtaget et eller flere svar som du finder brugbare iht. dit spm. bedes du acceptere disse, ved at:

1. Vælg besvareren/-ne  i listen til venstre (hold shift nede for at vælge flere).
2. Tryk på Accepter.

/MiReiGi
Avatar billede mik28 Seniormester
07. juni 2004 - 22:35 #16
hmmm, jeg troede jeg havde fået lukket spørgsmålet, sorry
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