Avatar billede websurfer Nybegynder
11. august 2002 - 13:33 Der er 7 kommentarer og
1 løsning

En tabels egenskaber

Er der nogen, der kan fortælle mig hvordan jeg laver en tabel der består af 1 kolonne med 2 rækker, hvor brugeren kan ændre:
- baggrundsfarven på hvert felt
- rammefarven og rammetykkelsen
- teksttype, størrelse, farve, fed/ikke-fed

Jeg kan jo sagtens lave det i ASP, men så skal siden jo loades hver gang brugeren har lavet en ændring. Det er derfor det skal laves dynamisk med DHTML.
Avatar billede hells Nybegynder
11. august 2002 - 14:02 #1
du laver et script, der henter tingene fra en form, og sætter dem ind i style-egenskaber, i en celle, der bestemmes ud fra et id.
det kan laves med en funktion i javascript, der kaldes ved tryk på en knap. Her kommer lige et eksempel:
<html>
<head>
<script type="text/javascript">
function aendrting(cellensid){
var bgfarve = document.forms[0].bagfarve.value;
var ramme = document.forms[0].rammeegenskaber.value;
var font = document.forms[0].minfont.value;
var hvorstorfont = document.forms[0].storrelse.value;
var fontfarve = document.forms[0].farve.value;
var fw = document.forms[0].fweight.value;
document.getElementById(cellensid).style.backgroundColor = bgfarve;
document.getElementById(cellensid).style.border = ramme;
document.getElementById(cellensid).style.fontFamily = font;
document.getElementById(cellensid).style.fontSize = hvorstorfont;
document.getElementById(cellensid).style.color = fontfarve;
document.getElementById(cellensid).style.fontWeight = fw;
}
</script>
</head>
<body>

<table>
  <tr>
    <td id="cellensid1">

tekst i celle

    </td>
  </tr>
  <tr>
    <td id="cellensid2">

tekst i celle

    </td>
  </tr>
</table>

<form>
Baggrundsfarve: <input type="text" name="bagfarve" /><br />
Border: <input type="text" name="rammeegenskaber" /><br />
Font: <input type="text" name="minfont" /><br />
Font-size: <input type="text" name="storrelse" /><br />
Font-weight: <input type="text" name="fweight" /><br />
Farve: <input type="text" name="farve" /><br />
<input type="button" onClick="aendrting('cellensid1')" value="Ændr" /><br />
<input type="button" onClick="aendrting('cellensid2')" value="Ændr" />
</form>

</body>
</html>
Avatar billede websurfer Nybegynder
11. august 2002 - 14:10 #2
Det ser jo fint ud, men hvad skal jeg skrive i border-feltet, hvis jeg f.eks. gerne vil have en blå ramme med 2px tykkelse?
Avatar billede hells Nybegynder
11. august 2002 - 14:20 #3
f. eks:
2px #0000ff solid

du kan jo selvfølgelig også lave det om til at bestemme tykkelse, stil og farve hver for sig:
document.getElementById(cellensid).style.borderColor o.s.v.
Avatar billede websurfer Nybegynder
11. august 2002 - 14:29 #4
Rammefarven er style.borderColor som du skriver, men hvad er så rammetykkelsen? style.borderWidth ?
Avatar billede hells Nybegynder
11. august 2002 - 14:35 #5
jeps og stilen er style.borderStyle. når noget har en bindestreg i css, fjerner man bindestregen og gør bogstavet efter stort i dhtml.

borderStyle bestemmer hvilken slags border det skal være og kan bl. a. være: solid, dashed, dotted, outset, inset, groove.
Avatar billede websurfer Nybegynder
11. august 2002 - 14:39 #6
Hov, undskyld, jeg kom til at trykke afvis, kan du ikke lige svare igen
Avatar billede hells Nybegynder
11. august 2002 - 14:39 #7
jo da
Avatar billede websurfer Nybegynder
11. august 2002 - 14:44 #8
Jeg kendte godt en del til CSS i forvejen, men jeg vidste ikke lige det der med at man skulle fjerne bindestregen i DHTML.
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