Avatar billede snorres Nybegynder
26. marts 2004 - 15:52 Der er 28 kommentarer og
1 løsning

function EditText(id)

Ehm har et lille problem med et script, det vil ikke som jeg vil, i øjeblikket ændre det en tekst, og det er fint, men vil gerne have det OGSÅ ændre et billed, alt hvad jeg vil have det til er at ændre indholdet af en div mere, så går resten jo nok.

min funktion ser sådan ud:
    }

    function EditText(id) {
      document.getElementById(id).innerHTML = 'Teksten der skal aenderes';
    }

Den bliver hentet med:
onclick="EditText(1);"

og så er det jo så <div id=1> der bliver ændret..
Det jeg så gerne vil have at function EditText også skal gøre er at den skal ændre indholdet af horsepic jeg har selv prøvet at tilføje
document.getElementById(horsepic).innerHTML = 'nyt billed';
i function EditText men det virker ikke..
nogen der ved hvordan man så gør`?
Avatar billede nute Nybegynder
26. marts 2004 - 15:59 #1
du skal til at lave din function en lille smule mere generisk:

function EditText(id, strText ) {
      document.getElementById(id).innerHTML = strText;
    }

som du kalder med:

onclick="EditText(1, 'Teksten der skal aenderes' );"

og

onclick="EditText('horsepic', 'nyt billed' );"
Avatar billede skovenborg Nybegynder
26. marts 2004 - 16:01 #2
du skal skrive:
document.getElementById(horsepic).src = 'billede.png';

eller
document.getElementById("horsepic").src = 'billede.png';
hvis horsepic er id'en og ikke en variabel
Avatar billede roenving Novice
26. marts 2004 - 16:02 #3
Du har forhåbentligt ikke brugt tal som id, men kun for at vise det her, ikke ?-)

-- og så har et billede ikke innerHTML, så der skal du ændre .src ...
Avatar billede nute Nybegynder
26. marts 2004 - 16:07 #4
argh... jeg er nødt til at lære mig at læse spørgsmålene ordentlig.

*melder mig til dansk kursus*
Avatar billede snorres Nybegynder
26. marts 2004 - 16:45 #5
hehe ja tak :)
Jo har faktisk bare kaldt iden på teksten 1 :D
Men iden på den div hvor billedet er i, hedder horsepic

Der der skal ske er den skal ændre inholdet af 2 divs med et click istedet for kun at ændre en div som dne gør nu, håber folk er med..
Avatar billede snorres Nybegynder
26. marts 2004 - 16:47 #6
skovenborg
det med det var et billed var egentligt ikke så vigtigt, for der skal ændres andet end bare billedet med den altså f.eks. "<img src=hehe.jpg><br>Biled 324"
Så det er hele diven der skal ændre, det der er problemet er jeg skal have 2 divs der skal ændres ved 1 click:D
Avatar billede roenving Novice
26. marts 2004 - 16:58 #7
function lavOm(id1,tekst1){
  args = lavOm.arguments;
  for(i=0;args.length>i;i+=2){
    document.getElementById(args[i]).innerHTML = args[i+1];
  }
}

Så kan du ændre et vilkårligt antal elementers innerHTML ved at kalde dem med:

onclick="lavOm('id1','tekst1','id2','tekst2','id3','tekst3','id4','tekst4','id5','tekst5');"

-- og id1 og tekst1 i functionen er bare for at vise, at man skal have dem i den rækkefølge !-)
Avatar billede snorres Nybegynder
26. marts 2004 - 21:09 #8
Man kan ikke lave så teksten der skal æmdres står oppe i java scripted istedet for i linket??
Avatar billede snorres Nybegynder
26. marts 2004 - 21:09 #9
For nogle steder er det en hel side der skal ændres, det vil give et sørens rod :S
Avatar billede roenving Novice
26. marts 2004 - 21:20 #10
Jo, sagtens, men hvad vi gør, kommer jo an på, hvor meget forskelligt du skal bruge !o]

Men en måde at gøre det på kunne være:

var html = new Array();
html[0] = "<img src=hehe.jpg><br>Biled 324";
html[1] = 'Teksten der skal ændres';

-- og så:

function lavOm(id1,tekst1){
  args = lavOm.arguments;
  for(i=0;args.length>i;i+=2){
    document.getElementById(args[i]).innerHTML = html[args[i+1]];
  }
}


onclick="lavOm('id1',0,'id2',1)

-- hvor det så er numrene på teksterne du sender med, for at undgå at skulle skrive den samme kode mange gange !-)
Avatar billede snorres Nybegynder
27. marts 2004 - 11:05 #11
Så det mig igen, kan man lave så man kan bruge andet end bare ren html uden " og ' i html[0]??
Sådan at jeg f.eks. kan skrive <a href="sdasd"> ?? istedet for <a href=dfsd> :D
Avatar billede snorres Nybegynder
27. marts 2004 - 11:10 #12
Jeg skal nemlig f.eks. bruge den der ændre side og billed på nogen af siderne:D
sådan at det kommer til at se sådan ud, og det vil den jo ikke:

html[1] = '<a href=# onclick="lavOm('id1',0,'id2',1)">blaha</a>';
Avatar billede snorres Nybegynder
27. marts 2004 - 11:30 #13
Nu er det sådan at jeg har mange links der ændre sidens indhold og billedet (samme side og samme billed)
kan jeg bruge samme kode, bare ændre på onclick? :) det ville jo gøre det hele meget nemmere :) istedet for før hvor jeg havde:


function EditText(id) {
      document.getElementById(id).innerHTML = 'Teksten der skal aenderes';
    }

function EditText2(id) {
      document.getElementById(id).innerHTML = 'Teksten der skal aenderes';
    }

function EditText3(id) {
      document.getElementById(id).innerHTML = 'Teksten der skal aenderes';
    }

Og så ellers der ud af :D:D
Avatar billede roenving Novice
28. marts 2004 - 00:38 #14
Hvis du har brug for mere end een tekstafgrænser inde i en javascript-streng kan du bruge de escapede oktal-værdier, f.eks.

html[7] = "<img src='mitBillede.jpg' onmouseover='this.src=\42mitBilledeHover.jpg\42' onmouseout='this.src=\42mitBillede.jpg\42'>"

-- \42 er "", \47 er '

-- og det er meget med vilje, at jeg i eksemplet har brugt \42, for det skal korrespondere med de 'er, som er brugt i forvejen !-)
Avatar billede snorres Nybegynder
28. marts 2004 - 10:47 #15
Aj smart, det vil jeg huske 1000 tak :)
Avatar billede snorres Nybegynder
28. marts 2004 - 11:00 #16
Ja nu har jeg jo så testet dt og, den laver jo fejl :D
Vil du ik lige kigge hvad jeg har gjort galt :)?

I Head:

<script language="JavaScript">

var html = new Array();
html[0] = "<img src=pics/015.jpg>";
html[1] = 'TEKST';

function lavOm(id1,tekst1){
  args = lavOm.arguments;
  for(i=0;args.length>i;i+=2){
    document.getElementById(args[i]).innerHTML = html[args[i+1]];
  }
}

</script>


i body:

<a href="#" onclick="lavOm('horsepic',0,'selvesiden',1)">
Avatar billede snorres Nybegynder
28. marts 2004 - 11:02 #17
Og hvad hvis det kun er teksten der skal ændres og ikke billedet? :)
Avatar billede snorres Nybegynder
28. marts 2004 - 11:10 #18
LoL
var html = new Array();
html[0] = "<img src=pics/015.jpg>";
html[1] = 'TEKST';
Skal jo være i funktionen :D Det er klart :D Nu virker det :D Tusind tak mester :) Laver du ikke et svar? :)
Avatar billede snorres Nybegynder
28. marts 2004 - 11:11 #19
Mne btw hvad hvis billedet ikke skal ændre sig?
Avatar billede snorres Nybegynder
28. marts 2004 - 11:21 #20
Findes der en måde at gøre på så den ikke laoder billedet HVER gang man trygger, selv om det er det samme billed? :S ser lidt dumt ud :D:D

Og ehm btw, bare sig hvis jeg er for besværlig kan også godt spytte flere points i hvis det er :)
Avatar billede roenving Novice
28. marts 2004 - 12:37 #21
Du kan jo lave forskellige links:

<a href="#" onclick="lavOm('horsepic',0,'selvesiden',1);return false;">Skift billede og tekst</a></br>

<a href="#" onclick="lavOm('selvesiden',1);return false;">Skift tekst</a></br>

<a href="#" onclick="lavOm('horsepic',0);return false;">Skift billede</a>
Avatar billede roenving Novice
28. marts 2004 - 12:39 #22
-- men man kan jo også lave en eller anden form for check, hvis det betyder noget, at billedet reloades ...

-- afhængig af hvordan situationerne opstår kan vi bruge en variabel til at huske hvilket billede der er eller direkte kigge efter, hvad der står i elementet !-)
Avatar billede snorres Nybegynder
28. marts 2004 - 17:39 #23
Ja men hvordan :D:D
Kan man evt. lave så der første gang står Her kommer et billed.. eller lign. ??
Og så anden gang kommer det bare :)?
Kunne jo loade det i body til at starte med, men da der er rimelig mange, ville det give lidt problemer :)
Avatar billede roenving Novice
28. marts 2004 - 17:56 #24
Hvordan er det, du får brug for at indsætte ?-)
Avatar billede snorres Nybegynder
28. marts 2004 - 18:06 #25
Hvad mener du? :)
Avatar billede snorres Nybegynder
29. marts 2004 - 15:23 #26
har spurgt om det i et nyt spørgsmål, var jo egentligt ikek det, der her gik ud på, det har du jo besvaret :)
Kan jeg få et svar :D:D?
Avatar billede roenving Novice
29. marts 2004 - 15:37 #27
Jamen, så velbekomme '-)
Avatar billede roenving Novice
29. marts 2004 - 16:38 #28
-- og tak for points ;~}
Avatar billede snorres Nybegynder
29. marts 2004 - 16:41 #29
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