Avatar billede ml Nybegynder
01. september 2001 - 18:02 Der er 21 kommentarer

Skrift tekst ved event

Hvordan laver jeg det så når en event sker så skifter en lille tekst til en anden.. F.eks.
--------------
<SCRIPT FOR=\"DDH\" EVENT=\"Go( )\" LANGUAGE=\"JScript\">
Nytekst = \'Dette er den nye tekst\'
Koden jeg skal bruge
</SCRIPT>

Gammel tekst der skal skifte.
--------------

Håber i forstår hvad jeg mener !?
Avatar billede farouche Nybegynder
01. september 2001 - 18:05 #1
hvor bruger du den tekst
Avatar billede ml Nybegynder
01. september 2001 - 18:31 #2
Hvad mener du.. Det er bare på en html site. Hvis det er event\'en du tænker på, så er det vel ligemeget ;)
Avatar billede farouche Nybegynder
01. september 2001 - 18:42 #3
jeg kan ikke helt se hvad du mener, kan du ikke vise lidt mere af sammen hængen
Avatar billede tknudsen Nybegynder
01. september 2001 - 23:11 #4
hvad betyder

<script for>  ?
Avatar billede farouche Nybegynder
01. september 2001 - 23:18 #5
For definerer hvilket element event bliver opsat for.
Avatar billede ml Nybegynder
01. september 2001 - 23:22 #6
I kan også bare lave det som f.eks. en onclick så kan jeg selv sætte den ind i event..

Altså så en tekst kan skifte til en anden tekst som er defineret i en onclick. Og det skal være i onclick ikke i selve <script> den nye tekst skal stå..
Avatar billede farouche Nybegynder
01. september 2001 - 23:27 #7
jeg forstår stadig ikke helt hvad det er du vil  :-/
Avatar billede farouche Nybegynder
01. september 2001 - 23:31 #8
Ok det er altså en tekst der står selvstændigt på HTML siden du gerne vil skifte ud på et eller andet event  ???
Avatar billede coldrayie Nybegynder
01. september 2001 - 23:53 #9
tror han mener at når man trykker på et eller andet...skifter en tekst til en anden tekst... :)
Avatar billede farouche Nybegynder
01. september 2001 - 23:57 #10
det kommer jo lidt an på hvor du vil ha\' den tekst.

For normalt vis kan man jo ikke tilgå tekster i HTML som ikke er defineret af et eller andet element der kan tilgåes via javasript.

DEt man kan gøre er f.eks. at lave et input text element, gøre dette usynligt pånær teksten i det og så kan man ændre teksten  :

<body bgcolor=\"#ffffff\">

<input readonly style=\"border-left: none; border-right: none; border-top: none; border-bottom: none; background-color: #ffffff\" border=\"0\" type=\"Text\" name=\"test\" value=\"tekst\">

<input  type=\"Button\" onclick=\"java script: document.all.test.value=\'ny tekst\'\" value=\"Skift tekst\">

</body>

det vil virke, men kræver lidt tilretning for at kunne bruges i alle sammenhænge
Avatar billede farouche Nybegynder
02. september 2001 - 00:00 #11
man kan jo evt. lave et smart lille script, der giver dig sådan et skiftbart tekst element, og som giver dig mulighed for at definere de to tekster det skal skifte imellem
Avatar billede tknudsen Nybegynder
02. september 2001 - 01:18 #12
ok men hvad er ddh så ?

men ellers kan du vel feks bruge et div tag og dens innerHTML metode:

<script>

function changeText()
{
  document.all.dunText.innerHTML = \'New text\';
}

</script>


<body>

<div id=\"dynText\">
Default text
</div>
<input type=\"button\" value=\"Change text\" onClick=\"changeText()\">
</body>
Avatar billede tknudsen Nybegynder
02. september 2001 - 01:18 #13
document.all er ie standart, så skal du bruge det i andre browsere skal du finde elementet på anden vis.
Avatar billede tknudsen Nybegynder
02. september 2001 - 01:25 #14
ehh - det sføli:

function changeText()
{
  document.all.dynText.innerHTML = \'New text\';
}
Avatar billede olebole Juniormester
02. september 2001 - 05:05 #15
<ole>
Da der er tale om JScript, er det under alle om IE/Windows.

Du kan give alle elementer på siden en id og kalde det med:
  document.all[id]
i IE4+. Det gælder alt: <td>, <div>, <a>, osv, osv.
all-array\'et hører til den tid, hvor browser fabrikanterne lavede hver deres måde at opstille et side-hieraki og måde at kalde sidens elementer på (DOM). På et tidspunkt opstillede W3C-konsortiet en anbefaling til en standard for DOM\'en, som blev implementeret i IE5.0.
I den eksisterer all-array\'et ikke længere, men sidens elementer kan bl.a. kaldes med:
  document.getElementById(id)
MS har dog sideløbende beholdt det gamle all-array, så foreløbig kan du godt kalde med det. NetScape implementerede den officielle DOM i version 6.0.

Side elementets indhold læses og sættes med \'HTMLelement.innerHTML\'. Dets indhold, strippet for HTML læses og sættes med \'HTMLelement.innerText\'.
/mvh
</bole>
Avatar billede Slettet bruger
02. september 2001 - 10:25 #16
Her er mit bud (hvor har jeg dog skrevet dette script mange gange på Xperten!):

<script>
<!--

function skrivTekst(teksten) {
if (document.all) {
document.all.minTekst.innerHTML = teksten
}
else if (document.layers) {
document.nsilayer.document.nslayer.document.write(teksten)
}
else {
alert(\"Din browser håndterer ikke dette script!\")
}
}

//-->
</script>

Og så indsætter du det her, dér hvor du vil have din tekst:
<span id=\"minTekst\"><ilayer id=\"nsilayer\"><layer id=\"nslayer\"></layer></ilayer></span>

Og så skal du kalde scriptet sådan her:
onClick=\"skrivTekst(\'Din tekst\')\"
Avatar billede olebole Juniormester
02. september 2001 - 13:49 #17
<ole>
phoenixv >> Da du alligevel ikke understøtter NS4 med script\'et, kan du ligeså godt nøjes med:
  <span id=\"minTekst\"></span>
<layer> og <ilayer> er rene NS4.x-tags. NS4 kan nu sagtens understøttes, men det synes spørgeren ikke at efterspørge - og den forstår fint <div> og <span>.
/mvh
</bole>
Avatar billede Slettet bruger
03. september 2001 - 16:30 #18
Til gengæld forstår NS4+ jo ikke innerHTML (i hvert fald så vidt jeg er orienteret), som jo er nødvendigt i det her tilfælde.
Am I right or am I left again? :^)
Avatar billede olebole Juniormester
03. september 2001 - 16:40 #19
Hvis <div>\'et er positioneret absolut, kan du skrive til det med:

else if (document.layers) {
  document.minTekst.document.minTekst.document.open();
  document.minTekst.document.minTekst.document.write(teksten);
  document.minTekst.document.minTekst.document.close();
}

Læg iøvrigt mærke til, at jeg åbner og lukker dokumentet, når jeg skriver til laget. Man bør i det mindste lukke efter sig (at åbne er ikke strengt nødvendigt), når man skriver efter dokumentet er loaded.
Avatar billede olebole Juniormester
03. september 2001 - 16:42 #20
Vrøvl....blot:

else if (document.layers) {
  document.minTekst.document.open();
  document.minTekst.document.write(teksten);
  document.minTekst.document.close();
}

...og så:

<span id=\"minTekst\" style=\"position:absolute;\"></span>

/mvh
Avatar billede Slettet bruger
03. september 2001 - 17:01 #21
Tænk, det anede jeg ikke, man kunne, altså skrive til et <span> på den måde! Men så er mit script jo nok ikke så velgennemtænkt alligevel... Så drop det, og vælg en andens!
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