Avatar billede kuglepen Nybegynder
30. august 2006 - 15:16 Der er 18 kommentarer og
1 løsning

nulstille et teksfelt

jeg har følgende kode:


// get elm to print string
function addText(str, addToElm) {
      var newText = document.createTextNode(str);
    addToElm.appendChild(newText);
}


hver gang dette script afvikles, lægger den str til elementet, sådan at hvis der står 'kat' i forvejen, vil der stå 'katten' hvis scriptet kaldes med str = 'ten'.

Det jeg vil er at der skal stå 'ten' og ikke 'katten'. Altså skal elemtets string nulstilles og herefter skal str append'es.  please help.
Avatar billede olebole Juniormester
30. august 2006 - 15:26 #1
<ole>

Hvis der er tale om et <input type="text"> eller <textarea>, skal du bruge value-attributten  :)

/mvh
</bole>
Avatar billede olebole Juniormester
30. august 2006 - 15:27 #2
F.eks:

function addText(str, addToElm) {
    var val = addToElm.getAttribute("value");
    addToElm.setAttribute("value", val+str);
}
Avatar billede olebole Juniormester
30. august 2006 - 15:28 #3
- eller bare:

function addText(str, addToElm) {
    addToElm.setAttribute("value", str);
}

- alt efter, hvad du vil  :)
Avatar billede kuglepen Nybegynder
30. august 2006 - 15:57 #4
det glemte jeg lige at fortælle. Der er tale om en div med et id
Avatar billede mclemens Nybegynder
30. august 2006 - 19:43 #5
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
function addText(str, addToElm) {
    addToElm=document.getElementById(addToElm);
    addToElm.firstChild.nodeValue+=str;
}
</script>

</head><body>

<div id="idet">katten</div>

<br>

<b onclick="addText(' har', 'idet');">" har"</b><br>
<b onclick="addText(' 2', 'idet');">" 2"</b><br>
<b onclick="addText(' 3', 'idet');">" 3"</b><br>
<b onclick="addText(' 4', 'idet');">" 4"</b><br>
<b onclick="addText(' 5', 'idet');">" 5"</b><br>
<b onclick="addText(' haler', 'idet');">" haler"</b><br>
<b onclick="addText(' tænder', 'idet');">" tænder"</b><br>
<b onclick="addText(' poter', 'idet');">" poter"</b><br>
</body></html>
Avatar billede mclemens Nybegynder
30. august 2006 - 19:45 #6
ups, ret lige:
    addToElm.firstChild.nodeValue+=str;
til:
    addToElm.firstChild.nodeValue=str;
Avatar billede kuglepen Nybegynder
30. august 2006 - 22:21 #7
den giver mig en error:  addToElm.firstChild has no properties.

jeg bruger Firefox...
Avatar billede kuglepen Nybegynder
30. august 2006 - 22:24 #8
addToElm er null
Avatar billede mclemens Nybegynder
30. august 2006 - 22:29 #9
Den virker fint i firefox hos mig ?
(kaster 19:43:29 med rettelsen)
... P.s.: Bruger Firefox 1.5.0.4


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
function addText(str, addToElm) {
    addToElm=document.getElementById(addToElm);
    addToElm.firstChild.nodeValue=str;
}
</script>

</head><body>

<div id="idet">katten</div>

<br>

<b onclick="addText(' har', 'idet');">" har"</b><br>
<b onclick="addText(' 2', 'idet');">" 2"</b><br>
<b onclick="addText(' 3', 'idet');">" 3"</b><br>
<b onclick="addText(' 4', 'idet');">" 4"</b><br>
<b onclick="addText(' 5', 'idet');">" 5"</b><br>
<b onclick="addText(' haler', 'idet');">" haler"</b><br>
<b onclick="addText(' tænder', 'idet');">" tænder"</b><br>
<b onclick="addText(' poter', 'idet');">" poter"</b><br>
</body></html>
Avatar billede mclemens Nybegynder
30. august 2006 - 22:32 #10
(husk at der skal stå noget i den div ... ellers skælder den ud ...
&nbsp; er godt nok ... det kan selvfølgelig også laves med appending
af en tekstnode - og fjernelse af de eksisterende hvis det er - men
det virker lidt overkill agtigt (defor blot en rettelse af nodeValue)...
... er det bedre at der slet ikke står noget div'en fra start af ? )
Avatar billede kuglepen Nybegynder
30. august 2006 - 22:39 #11
tror måske det skal laves på den besværlige måde... Det her virker ikke... Og det er bedst at der ikke står noget.
Avatar billede mclemens Nybegynder
30. august 2006 - 22:40 #12
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
function addText(str, addToElm) {

    addToElm=document.getElementById(addToElm);

    while(addToElm.childNodes.length>0)addToElm.removeChild(addToElm.firstChild);

    addToElm2=document.createTextNode(str);

    addToElm.appendChild(addToElm2);

}
</script>

</head><body>

<div id="idet"></div>

<b onclick="addText(' har', 'idet');">" har"</b><br>
<b onclick="addText(' 2', 'idet');">" 2"</b><br>
<b onclick="addText(' 3', 'idet');">" 3"</b><br>
<b onclick="addText(' 4', 'idet');">" 4"</b><br>
<b onclick="addText(' 5', 'idet');">" 5"</b><br>
<b onclick="addText(' haler', 'idet');">" haler"</b><br>
<b onclick="addText(' tænder', 'idet');">" tænder"</b><br>
<b onclick="addText(' poter', 'idet');">" poter"</b><br>
</body></html>
Avatar billede mclemens Nybegynder
30. august 2006 - 22:43 #13
Denne her er så nulstil:
<b onclick="addText('', 'idet');">nulstil</b>

(mellemrum før teksterne som her: ' haler' er et levn fra første
script hvor jeg troede at det skulle lægges til nodeValue ...
Avatar billede kuglepen Nybegynder
30. august 2006 - 22:45 #14
jeg forsøger. På forhånd tak :)
Avatar billede kuglepen Nybegynder
30. august 2006 - 22:50 #15
Det her virkede:

function addText(str, addToElm) {
    while(addToElm.childNodes.length>0)addToElm.removeChild(addToElm.firstChild);
    addToElm2=document.createTextNode(str);
    addToElm.appendChild(addToElm2);
}

tak for hjælpen. Du har fortjent et tilskud... :)
Avatar billede kuglepen Nybegynder
30. august 2006 - 23:02 #16
hvordan er det nu jeg giver dig point. Plejer der ikke at være et rulleting i venstre menu....?
Avatar billede mclemens Nybegynder
30. august 2006 - 23:12 #17
Den kommer nu :o)
Avatar billede mclemens Nybegynder
30. august 2006 - 23:13 #18
(tryk på navn og accepter)
Avatar billede mclemens Nybegynder
31. august 2006 - 19:00 #19
Tak for point :)
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