Avatar billede samuelsen Nybegynder
14. april 2004 - 09:58 Der er 13 kommentarer og
1 løsning

disable og enabling af link

Kære Eksperter!

Håber I kan hjælpe, jeg har søger et script som kan disable link nogle links med id=xx (altså ønsker kun at nogle links i en frame skal disables) når der klikkes på et af linkene. Dette link åbner en jsp-side i en anden frame (iframe) som henter nogle data ud fra en databasen. Når denne side er loaded/hentet færdig skal alle linksene enables igen. Altså dette skal forhindre at en "dum" bruger ikke bliver ved med at klikke på de links, så der hele tiden bliver sendt ufuldstændige forespørgsler til min database. Kan I hjælpe?

Venlig hilsen
samuelsen
Avatar billede grunken Nybegynder
14. april 2004 - 10:50 #1
altså du vil disable alle links i framen mens jsp'n arbejder ?
Avatar billede samuelsen Nybegynder
14. april 2004 - 10:53 #2
helst kun nogle 3-4 stykker, kan man ikke give dem et ID=linkxx ? og så kun disable disse mens jsp'n arbejder?
Avatar billede grunken Nybegynder
14. april 2004 - 11:23 #3
et hurtigt illustrativt eksempel, jeg har gået ud fra at det er de samme link der skal udføre "disable funktionen" som der skal disables mens jsp arbejder :o)

<html>
<head>
<script type="text/javascript">

  window.onload = enable

  var links = new Array("idet","idto","idtre","idfire") // de linkid'r der skal disables ved klik

  function disse(){
  for(i=0;i<links.length;i++)
    document.getElementById(links[i]).onclick = new Function("return false");
  }

  function enable(){
  for(i=0;i<links.length;i++)
    document.getElementById(links[i]).onclick = new Function("disse();");
  }

</script>
</head>

<body>
<a href="http://www.eksperten.dk" id="idet">Eksperten</a><br/>
<a href="http://www.eksperten.dk" id="idto">Eksperten</a><br/>
<a href="http://www.eksperten.dk" id="idtre">Eksperten</a><br/>
<a href="http://www.eksperten.dk" id="idfire">Eksperten</a><br/>
</body>
</htm>

når dit jsp er udført, kalder du bare funktionen enable igen fra den frame jsp'n har kørt i

eks.

<script type="text/javascript">
top.frames['HVORERDELINKS'].enable();
</script>
Avatar billede samuelsen Nybegynder
14. april 2004 - 11:36 #4
hej! tak for eksemplet, og det hjalp lidt..har dog lige et problem med id'et på mine links, da jeg ikke ved hvor mange links som der er (hentes dynamisk fra en database) er jeg ikke meget for at benytte statiske navne, kan jeg evt. kalde dem alle id=link ?? og så alle disables og enables. Det har jeg også prøvet, men det virker vist ikke...
og jeg kalder bare enable på den anden jsp-side med top.frames.enable(); og det virker vist fint..tror jeg nok...:o)
Avatar billede helle_fred Nybegynder
14. april 2004 - 12:05 #5
<script>
var connection=true

function connect(x) {if(connection) document.location.href=x}

</script>
<body>


<a href=# onClick="connection=false">afbryd</a><br>
<a href=# onClick="connection=true">aktiver</a><br>

<a href=# onClick="connect('http://www.ruc.dk')">klik</a>
</body>
Avatar billede samuelsen Nybegynder
14. april 2004 - 12:10 #6
hej helle! det forstår jeg ikke lige gider du forklare?
Avatar billede samuelsen Nybegynder
14. april 2004 - 12:30 #7
grunken: nu har jeg fået funktionen til at køre uden fejl, men den virker desværre ikke, ingen links bliver disablet.
Avatar billede helle_fred Nybegynder
14. april 2004 - 12:57 #8
samuelsen:

Forklaring: der er en globalvariabel, connection, som kan sættes til true, når de udvalgte links må fungere og ellers til false.

De pågældende links skrives på formen:

<a href=# onClic="connect('linkadresse')>linktekst</a>

funtionen connect sender så linket videre, men kun hvis connection er true.
Avatar billede samuelsen Nybegynder
14. april 2004 - 13:01 #9
Helle:
hvordan sætter jeg den globale variabel til true over i min jsp-side, altså i den anden frame...er den så global, så jeg bare skriver
<script>
connect=true
</script>
i en hel anden html/jsp side i en anden frame? eller skal jeg henvise til den oprindelige parent-frame og i så fald hvordan gør jeg det.
Avatar billede helle_fred Nybegynder
14. april 2004 - 15:16 #10
fra iframen kan du i eksemplet herreferere til variablen "connection" som parent.connection.
f.eks.

<script>
parent.connection=false
</script>
Avatar billede helle_fred Nybegynder
14. april 2004 - 15:55 #11
Eksempel:

Hoveddokument:
<html>
<head>
<script>
var connection=true

function connect(x) {if(connection) document.location.href=x}
</script>
</head>
<body>
Her er to links:<p>

<a href=# onClick="connect('http://www.jubii.dk')">link1</a><p>
<a href=# onClick="connect('http://www.ruc.dk')">link2</a><p>

<IFRAME id="rambo" SRC="y.htm"></IFRAME>
</body>
</html>

og y.htm:

<a href=# onClick="parent.connection=false">afbryd links</a><br>
<a href=# onClick="parent.connection=true">aktiver links</a><br>
Avatar billede olebole Juniormester
16. april 2004 - 13:07 #12
<ole>

Der er lige den detalje, at 'document.location' er depricated (og har været det i mange år), så man bør bruge 'window.location' i stedet  :)

/mvh
</bole>
Avatar billede helle_fred Nybegynder
16. april 2004 - 13:13 #13
Øv, men jeg har desværre også været depricated i mange år... :-(
Avatar billede olebole Juniormester
16. april 2004 - 17:38 #14
*LooOooL* 'depricated' er vel så meget sagt, men det er da rart at se, du er blevet aktiv igen  ;o)
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging