Avatar billede haolan Nybegynder
18. august 2007 - 15:39 Der er 10 kommentarer og
1 løsning

Ændre baggrundsfarve så snart input ændres

Hej eksperter

Jeg har lagt en tigra Colorpicker på min side.
Når man vælger en farve fra popupvinduet bliver hexkoden indsat i textboksen med det samme.

Det skal gerne være så ligeså snart at der bliver placeret en farve i boksen ændres baggrundsfarven til den hexværdi der er valgt.

Jeg har prøvet med OnChange="" men det hjalp ikke,da jeg var nødt til at redigere i Hexkoden og trykke enter før der skete noget.

Hvordan gør jeg det så?
Avatar billede hmortensen Nybegynder
18. august 2007 - 15:51 #1
Kan du ikke blot lave kaldet samme sted som det kald der indsætter hex koden i boksen?
Avatar billede haolan Nybegynder
18. august 2007 - 15:59 #2
havde tænkt det samme.. Men jeg ved ikke hvorhenne det sker i koden, da det er en Tigra Colorpicker.

http://www.softcomplex.com/products/tigra_color_picker/
Avatar billede windcape Praktikant
18. august 2007 - 16:00 #3
function TCSelect(c) {
    this.field.value = '#' + c.toUpperCase();
    this.win.close();
}
Avatar billede olebole Juniormester
18. august 2007 - 16:05 #4
<ole>


function TCSelect(c) {
    this.field.value = '#' + c.toUpperCase();
    this.field.style.backgroundColor = '#' + c;
    this.win.close();
}

/mvh
</bole>
Avatar billede haolan Nybegynder
18. august 2007 - 16:17 #5
Skal gerne bruge den samme fil til andre farveændringer også..

er der ikke en mulighed for at trække elementet med ind, så den ændre baggrundsfaven på et bestemet element.

fx ved at sætte: <a href="java script:TCP.popup(document.forms['step2Form'].elements['input0'], input)">

??
Avatar billede haolan Nybegynder
18. august 2007 - 16:19 #6
input skulle være this :)
Avatar billede olebole Juniormester
18. august 2007 - 17:05 #7
Du retter til:

function TCPopup(fnHandler, palette) {
    this.fnHandler = fnHandler;
    this.initPalette = !palette || palette > 3 ? 0 : palette;
  ... osv ... osv ...

- og:

function TCSelect(c) {
    this.fnHandler('#' + c);
    this.win.close();
}

Så kan du i stedet selv bestemme, hvad der skal ske, ved at tilknytte en event-handler:

function foo(sCol) {
    document.getElementById("mitDiv").style.background = sCol;
    document.forms['step2Form'].elements['input0'].value = sCol;
}

<a href="java script:TCP.popup(foo, 2)">
Avatar billede olebole Juniormester
18. august 2007 - 17:08 #8
- eller du kan sende både handler og element med:

function TCPopup(oElm, fnHandler, palette) {
    this.oElm = oElm;
    this.fnHandler = fnHandler;
    this.initPalette = !palette || palette > 3 ? 0 : palette;
  ... osv ... osv ...

- og:

function TCSelect(c) {
    this.fnHandler('#' + c, this.oElm);
    this.win.close();
}

Så kan du i stedet selv bestemme, hvad der skal ske, ved at tilknytte en event-handler:

function foo(sCol, oElm) {
    oElm.style.background = sCol;
    document.forms['step2Form'].elements['input0'].value = sCol;
}

<a href="java script:TCP.popup(document.getElementById('mitDiv'), foo, 2)">
Avatar billede haolan Nybegynder
18. august 2007 - 17:42 #9
takker.. smid svar for points.
Avatar billede olebole Juniormester
18. august 2007 - 21:05 #10
*griiiiiiiiiiiiiiiiiiiiiiiiiiib*  =)
Avatar billede olebole Juniormester
19. august 2007 - 19:31 #11
Tak for points  =)
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