Avatar billede cyfer Nybegynder
21. december 2004 - 17:48 Der er 9 kommentarer og
1 løsning

document value - i XHTML

Hej, jeg forsøger at bruge nedenstående til at have noget stående i mine text fields, og fjerne det ved klik med musen på dem. Jeg har bare det ene problem at der som bekendt ikke længere undstøttes atributen "name" i <form....>

Og da dette script jo kigger efter form name, har jeg jo et problem.
Hvordan kan jeg få den til at kigge på id, som jo er det nye man bruger i XHTML?

onfocus="java script:if (document.contactform.name.value=='Your name?') document.contactform.name.value=''"

På forhånd tak.
Avatar billede fixxxer Nybegynder
21. december 2004 - 17:55 #1
Sådan noget lignende det her burde kunne gøre det..

document.forms['someform'].hejsa.value
Avatar billede cyfer Nybegynder
21. december 2004 - 18:08 #2
Sådan her? - For det virker ikke.... :\


<input name="name" type="text" value="Your name?" style="width: 200px;" onfocus="java script:if (document.forms['contactform'].name.value=='Your name?') document.forms['contactform'].name.value==''" />
Avatar billede olebole Juniormester
21. december 2004 - 18:39 #3
<ole>

For det første har man aldrig skulle bruge JavaScript pseudo-protokollen i en event-handler. Det gælder både i HTML og XHTML ... altså ikke onfocus="java script: ......".

Derudover eksisterer document-objektet ikke på samme måde under XHTML som under HTML. Du kan ganske rigtigt ikke anvende stier som: 'document.FROM_NAVN.ELEMENT_NAVN.value' - eller 'document.images[IMG_NAME].src'.

Du er nødt til at bruge DOM og kalde med document.getElementById(ELEMENT_ID) - og naturligvis sørge for, at elementet har en ID. Er der tale om et form-element, skal det dog også have et NAME for at virke i forhold til serveren.

Desuden kan du ikke uden videre have script- og/eller style-tags i dokumentet. Script- og style-blokke skal escape's som CDATA - eller lægges i remote js- eller css-dokumenter

/mvh
</bole>
Avatar billede cyfer Nybegynder
21. december 2004 - 18:45 #4
Du er meget udførlig i dit svar olebole. Men os ydmyge jordboere kan desværre ikke forstå en levende brik af hvad du siger.

Du er nød til at forklare det med eksempler, og skære det ud i pap.

Jeg har brug for at vide hvordan jeg implenterer denne "funktion" i mine forms...

På forhånd tak.
Avatar billede olebole Juniormester
21. december 2004 - 19:01 #5
oki  :)

onfocus="if (document.getElementById('navn').value=='Your name?') getElementById('navn').value=''"

... og:

<form .........>
<input type="text" id="navn" name="navn">
</form>

Læg så alle dine scripts i en .js-fil og importer den med:
  <script type="text/JavaScript" src="din_fil.js"></script>

PS: Læg mærke til, at 'name' er dårlig valgt ord til en ID eller et NAME. Det kan JS misforstå og tage for noget andet
Avatar billede olebole Juniormester
21. december 2004 - 19:04 #6
... og hvis det skal ske, når feltet selv får focus. kan du nøjes med dette:

<input type="text" id="navn" name="navn" value="Your name?"
  onfocus="if (this.value=='Your name?') this.value=''">

eller:

<input type="text" id="navn" name="navn" value="Your name?"
  onfocus="if (this.value==this.defaultValue) this.value=''">
Avatar billede olebole Juniormester
21. december 2004 - 19:05 #7
PS: Jeg lavede en fejl i (21/12-2004 19:01:57). Sådan skal det se ud:

onfocus="if (document.getElementById('navn').value=='Your name?') document.getElementById('navn').value=''"
Avatar billede cyfer Nybegynder
21. december 2004 - 21:01 #8
Så siger jeg mange tak for hjælpen olebole....

Se det var jo noget os dødelige kunne forstå ;)
Avatar billede olebole Juniormester
21. december 2004 - 22:11 #9
Selvtak ... og God Jul  *<();o)
Avatar billede cyfer Nybegynder
21. december 2004 - 22:39 #10
I lige måde.
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