Avatar billede laurents Nybegynder
09. juni 2010 - 20:20 Der er 10 kommentarer og
1 løsning

hvordan fyrer man et hyperlink af i onload?

Hey,

Her kommer endnu et spørgsmål i kategorien under "det burde jeg sq vide" - men - kan man fyre denne af <a href="#" id="UpdateItemCount">update</a> i en onload (altså så man ikke skal trykke på link for at udføre funktionen?

Mange hils
Henrik
Avatar billede majbom Novice
09. juni 2010 - 20:40 #1
hvad skulle dette gøre?

er det en javascript-funktion den skal kalde?
Avatar billede laurents Nybegynder
09. juni 2010 - 20:45 #2
Yepper - det ser ud som følger:

<head>
  <script type="text/javascript" src="mootools.js"></script>     
  <script type="text/javascript" src="demo.js"></script>
</head>

<a href="#" id="UpdateItemCount">Get HTML</a>

i demo.js er følgende:

window.addEvent('domready', function() {
  var req = new Request.HTML({url:'menurespons.asp',
      onSuccess: function(html) {
    $('result').set('text', '');
    $('result').adopt(html);
    },

      onFailure: function() {
    $('result').set('text', 'The request failed.');
        }
    });
   
    $('UpdateItemCount').addEvent('click', function() {
    req.send();
    });
});

Dette injecter lidt info til <div id="result"> som jeg skal bruge i en menu ....

Det jeg gerne vil er, at hvergang man opdaterer noget i en database (funktion i en asp side), så skal funktionen opdatere "result" og vise dette i menuen...

Giver det mening?

Mange hils
Henrik
Avatar billede majbom Novice
09. juni 2010 - 20:52 #3
nu kender jeg ikke til mootools, men jeg vil tro at du kan:

<body onload="req.send()">
Avatar billede laurents Nybegynder
09. juni 2010 - 21:02 #4
desværre ikke .... "req" is undefined. hmmmmmm .....
Avatar billede intenz Novice
09. juni 2010 - 22:36 #5
Kender heller ikke noget til mootools, men kan du ikke bare sætte den ind tilsidst i din eksisterende onload funktion?

...
    $('UpdateItemCount').addEvent('click', function() {
    req.send();
    });

    req.send();
});
Avatar billede laurents Nybegynder
10. juni 2010 - 13:10 #6
desværre ikke:

<body onload="$('UpdateItemCount').addEvent('click', function() {req.send();});req.send();});">

Giver en syntax error på den første forkomst af "}" - jeg er sq ikke rigtig dus med java/ajax o.s.v. - ser min onload rigtig ud?
Avatar billede intenz Novice
10. juni 2010 - 13:18 #7
Det var heller ikke sådan jeg mente, sæt den ind i din eksisterende 'domready' event:


window.addEvent('domready', function() {
  var req = new Request.HTML({url:'menurespons.asp',
      onSuccess: function(html) {
    $('result').set('text', '');
    $('result').adopt(html);
    },

      onFailure: function() {
    $('result').set('text', 'The request failed.');
        }
    });
   
    $('UpdateItemCount').addEvent('click', function() {
    req.send();
    });

    req.send();
});
Avatar billede laurents Nybegynder
10. juni 2010 - 13:39 #8
irx - den har jeg ikke rigtig kontrol over, da den er en del af hele mootools arkivet, som ligger heftigt kompilet i en laaaang streng...

kan man omdanne funktionen til noget der kan loades ved onload?
Avatar billede intenz Novice
10. juni 2010 - 13:44 #9
window.addEvent('domready', function() {
  ...
});

ér en onload funktion. Alt hvad du skriver i den bliver kørt 'onload'.
Avatar billede laurents Nybegynder
10. juni 2010 - 16:19 #10
jeg kan sq ikke rigtigt få den til at gøre hvad den skal, så jeg laver en omkodning af det hele til at anvende en lidt mere simpel xmlhttp ....

tusind tak for hjælpen!

Mange hils
Henrik
Avatar billede intenz Novice
10. juni 2010 - 16:50 #11
Du kan også kigge på www.jquery.com som et alternativ til mootools.
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