/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
indikere ændring i form
Fra : Leonard


Dato : 10-04-05 11:06

Findes der noget javascript, der kan indikere at der er sket en
ændring i et felt i en formular?

<form action='/admin/rettekst.php' method='post'>
<input type='text' name='menutext' value='Reservedele' size='20' />
<textarea cols='35' rows='20' name='text'> Al slags service udføres på
alle slags maskiner</textarea>
<input type='submit' value='Ret Tekster' />
</form>

Jeg vil gerne have noget der tydeligt fortæller brugeren, at han har
rettet i et af felterne, men ikke trykket på Submit endnu.

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

 
 
Jens Gyldenkærne Cla~ (10-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 10-04-05 11:30

Leonard skrev:

> Findes der noget javascript, der kan indikere at der er sket
> en ændring i et felt i en formular?

Ja. Alle almindelige formfelter har en onchange-hændelse der netop
kører når feltværdien ændres.

> Jeg vil gerne have noget der tydeligt fortæller brugeren, at
> han har rettet i et af felterne, men ikke trykket på Submit
> endnu.

Med onchange kan du fx ændre i formateringen på felter der er
ændret - eller du kan tilføje et tegn ved siden af feltet.
Mulighederne er mange.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 12:07

Jens Gyldenkærne Clausen <jens@gyros.invalid> wrote:

>Med onchange kan du fx tilføje et tegn ved siden af feltet.

OK, hvor kan jeg finde et eksempel på det?

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Christian Hansen (10-04-2005)
Kommentar
Fra : Christian Hansen


Dato : 10-04-05 13:37

Leonard wrote:
> OK, hvor kan jeg finde et eksempel på det?
>

<input type="text"
onchange="document.getElementById('count').innerHTML=this.value.length"><div
id="count"></div>

Bemærk at mange browsere først aktivere onChange, når man forlader
feltet ( onBlur ). Hvis man vil have live-opdatering, kan man derfor
også benytte onKeyUp-eventhandleren - i tekstfelter that is.

<input type="text"
onkeyup="document.getElementById('count').innerHTML=this.value.length"><div
id="count"></div>

Læs mere om eventhandlere her :
http://www.devguru.com/Technologies/ecmascript/quickref/js_eventhandler.html


Mvh Christian

P.S. Google har ret mange eksempler ;)

Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 19:00

Christian Hansen <chrsen@fundanemt.com> wrote:

>Hvis man vil have live-opdatering, kan man derfor
>også benytte onKeyUp-eventhandleren - i tekstfelter that is.
>
><input type="text"
>onkeyup="document.getElementById('count').innerHTML=this.value.length"><div
>id="count"></div>

Det er fint og det virker, men i stedet for at få skrevt et tal ud med
antal tegn, så vil jeg gerne bare have en tekst:
"Du har ændret teksten, husk at gemme det med knappen SUBMIT"

- og jeg må tilstå at jeg ikke evner at ændre det til det.

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Erik Ginnerskov (10-04-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 10-04-05 20:33

Leonard wrote:
> Christian Hansen <chrsen@fundanemt.com> wrote:
>
>> Hvis man vil have live-opdatering, kan man derfor
>> også benytte onKeyUp-eventhandleren - i tekstfelter that is.
>>
>> <input type="text"
>>
onkeyup="document.getElementById('count').innerHTML=this.value.length"><div
>> id="count"></div>
>
> Det er fint og det virker, men i stedet for at få skrevt et tal ud med
> antal tegn, så vil jeg gerne bare have en tekst:
> "Du har ændret teksten, husk at gemme det med knappen SUBMIT"
>
> - og jeg må tilstå at jeg ikke evner at ændre det til det.

Kan du ikke bruge document.write?

onkeyup="document.getElementById('count').innerHTML=document.write('Du har
ændret teksten, husk at gemme det med knappen SUBMIT')"

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 20:39

"Erik Ginnerskov" <erik@donotspammmeplease.invalid> wrote:

>Kan du ikke bruge document.write?
>
>onkeyup="document.getElementById('count').innerHTML=document.write('Du har
>ændret teksten, husk at gemme det med knappen SUBMIT')"

Tjoh, men hvor bliver det skrevet?


--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Erik Ginnerskov (10-04-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 10-04-05 20:51

Leonard wrote:

> Tjoh, men hvor bliver det skrevet?

Mon ikke samme sted som du ellers med this.value.length fik udskrevet et
tal?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 21:01

"Erik Ginnerskov" <erik@donotspammmeplease.invalid> wrote:

>Mon ikke samme sted som du ellers med this.value.length fik udskrevet et
>tal?

Næh, der kommer ikke nogen tekst?

<form action="#" method="post">
   <input type="text"
onkeyup="document.getElementById('count').innerHTML=document.write('Du
har
ændret teksten, husk at gemme det med knappen SUBMIT')" />
<div id="count"></div>
</form>

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Erik Ginnerskov (10-04-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 10-04-05 21:12

Leonard wrote:

> Næh, der kommer ikke nogen tekst?

Hvordan så med dette:

<form action="#" method="post">
<input type="text"
onkeyup="document.getElementById('count').innerHTML.write('Du
har ændret teksten, husk at gemme det med knappen SUBMIT')" />
<div id="count"></div>
</form>

Det er bare et forsøg. Jeg er ikke js-ekspert. Dur det heller ikke, må andre
træde til.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 21:24

"Erik Ginnerskov" <erik@donotspammmeplease.invalid> wrote:

>Det er bare et forsøg. Jeg er ikke js-ekspert. Dur det heller ikke, må andre
>træde til.

Tak for forsøget, det hjalp ikke, så nu må infanteriet gerne træde til


--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Jeppe Høiby (10-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 10-04-05 21:44

Leonard wrote:
> Tak for forsøget, det hjalp ikke, så nu må infanteriet gerne træde til
>

<form action="#" method="post">
<input type="text"
onkeyup="document.getElementById('count').innerHTML='Du
har ændret teksten, husk at gemme det med knappen SUBMIT'" />
<div id="count"></div>
</form>

eller (ikke testet):

<form action="#" method="post">
<input type="text"
onkeyup="document.getElementById('count').appendChild(createTextNode('Du
har ændret teksten, husk at gemme det med knappen SUBMIT'))" />
<div id="count"></div>
</form>

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 22:11

Jeppe Høiby <spam@spam.com> wrote:

><form action="#" method="post">
><input type="text"
>onkeyup="document.getElementById('count').innerHTML='Du
>har ændret teksten, husk at gemme det med knappen SUBMIT'" />
><div id="count"></div>
></form>

Yes, nu virker det!

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Tomasz Otap (10-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 10-04-05 21:53

Erik Ginnerskov wrote:
> onkeyup="document.getElementById('count').innerHTML.write('Du
> har ændret teksten, husk at gemme det med knappen SUBMIT')" />
> <div id="count"></div>
> </form>

Meget tæt på: den rigtige syntaks er:

document.getElementById('count').innerHTML = 'Du har ændret teksten,
husk at gemme det med knappen SUBMIT.')

Du kan desværre ikke bruge document.write efter en side er færdigloadet.
Det vil i bedste tilfælde starte et nyt dokument med det angivne indhold
som HTML, f.eks.:
<a href="JavaScript:document.write('Hu hej!')">Fiskesuppe?</a>

t

Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 22:09

Tomasz Otap <tomasz@otap.justRemoveThis.dk> wrote:

>Meget tæt på: den rigtige syntaks er:
>
>document.getElementById('count').innerHTML = 'Du har ændret teksten,
>husk at gemme det med knappen SUBMIT.')

Det virker heller ikke, og jeg synes også der er noget galt med
antallet af parenteser, men jeg har prøvet både med og uden ('Du ...')
og 'Du ...'

I Firefox har jeg fundet en javascript console, der melder fejlen:

unterminated string literal og så peger den på 'D

og hele tagget ser således ud:

<input type="text" onkeyup="document.getElementById('count').innerHTML
= 'Du har ændret teksten, husk at gemme det med knappen SUBMIT.'" />

mangler der et semicolon et sted ?

--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Leonard (10-04-2005)
Kommentar
Fra : Leonard


Dato : 10-04-05 22:13

Leonard <usenet@leonard.dk> wrote:

>Det virker heller ikke,

Undskyld, jo det virker, det var det der med at have javascript på
flere linier, det duer jo ikke.


--
med venlig hilsen
Leonard - http://leonard.dk/

Er du skiftet til Firefox? www.mozilla.org

Tomasz Otap (10-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 10-04-05 22:19

Leonard wrote:
> Det virker heller ikke, og jeg synes også der er noget galt med
> antallet af parenteser, men jeg har prøvet både med og uden ('Du ...')
> og 'Du ...'

My bad - det er hvad der kommer ud af hastig cut'n paste. Den kode, du
angiver nedenunder, er korrekt - den sidste parentes skal *ikke* med:

> <input type="text" onkeyup="document.getElementById('count').innerHTML
> = 'Du har ændret teksten, husk at gemme det med knappen SUBMIT.'" />

Jeg har lige testet den linie i Firefox og IE, og den fungerer efter
hensigten - fuldstændig kode testet var:

------------

<input type="text" onkeyup="document.getElementById('count').innerHTML
= 'Du har ændret teksten, husk at gemme det med knappen SUBMIT.'" />
<div id="count"></div>

------------

Du må gerne sætte et semikolon bagerst (...med knappen SUBMIT';" />),
men det er ikke nødvendigt, da du kun har 1 sætning kode.

t

Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste