Avatar billede madssch Nybegynder
21. november 2006 - 13:19 Der er 15 kommentarer og
1 løsning

XHTML ændrer Input-felter

Hej Eksperter,

Jeg er ved at opgradere et ældre system til at overholde XHTML1.1 Transitional. Jeg er nu løbet ind i et problem.

Alle mine input-felter har fået en anden størrelse - hovedsageligt i højden. Jeg formaterer mine formularfelter med en class. Med XHTML-doctype'n reagerer input-feltet kun på hvilken skrifttype- og størrelse der er defineret i min class - men ikke felt-størrelsen.

Har XHTML noget specielt overfor input-felter, eller er der andet jeg ikke er opmærksom på?

På forhånd tak!
Avatar billede olebole Juniormester
21. november 2006 - 13:27 #1
<ole>

Mon ikke det er fordi, du bruger en XML-deklaration før dit HTML-start-tag? Den disable'er nogle af de vigtigste dele af CSS i IE6.

Hvis det er tilfældet, kan du roligt slette den. Når man skriver XHTML1.1 Transitional, er det i alle eksisterende browsere alligevel HTML-parseren, der behandler dokumentet ... det kommer aldrig i nærheden af XML-parseren. Derfor er der heller ingen fordele ved den standard  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
21. november 2006 - 13:28 #2
- prøv at lægge et link til siden, så vi kan finde ud af, hvor du laver fejl  =)
Avatar billede madssch Nybegynder
21. november 2006 - 13:32 #3
Jeg har denne som det aller øverste i dokumentet:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">

Har jeg ikke den, kan siden jo ikke valideres..?
Avatar billede madssch Nybegynder
21. november 2006 - 13:42 #4
Den er desværre ikke online p.t.
Avatar billede jokkejensen Novice
21. november 2006 - 14:42 #5
tilføj display:block til din CSS til inputs..

Det er ofte det der er galt når du ikke kan sætte højden ..

Og gætteriet skal vel begynde et eller andet sted, hvis du ikke får lagt det online..
Avatar billede olebole Juniormester
21. november 2006 - 14:54 #6
- ja, man kan naturligvis ikke sætte højde på inline-elementer, men ifølge spørgemålet er det ikke kun højden, der er problemet ... kun 'hovedsageligt', så mon ikke, der er noget andet i vejen?

madssch >> Det, du viser er DTD'en. XML-deklarationen ser f.eks. sådan ud:
    <?xml version="1.0" encoding="iso-8859-1"?>

"Den er desværre ikke online p.t." ... så læg den online  =)
Avatar billede madssch Nybegynder
21. november 2006 - 15:59 #7
display:block gjorde tricket!

olebole >> Hehe, ok. Nej, har ikke den anden på. det er umuligt at fejlfinde i f.eks. ASP med den på.

Tak for hjælpen begge 2!  ;-)

Hvem smider svar?
Avatar billede madssch Nybegynder
21. november 2006 - 16:31 #8
Nej, desværre... Det gjorde ikke tricket. Aner ikke hvorfor det pludselig så rigtigt ud.  :(

Roder videre...
Avatar billede madssch Nybegynder
21. november 2006 - 17:10 #9
Er blevet lidt klogere:

Input-felterne genereres i en hjemmelavet formdesigner via attributten contenteditable="true".

"Fejlen" opstår faktisk først, når jeg begynder at trække i felterne. For hver gange jeg trækker i et felt, øges dets højde med x pixels.

Tilsyneladende ser det ud til, at contenteditable selv indsætter style="height:16px;" eller lignende i input-koden.

Et problem jeg ikke har på andre sites, som ikke har XHTML DTD'en...

Det fatter jeg ikke en bjælde af...?
Avatar billede olebole Juniormester
22. november 2006 - 13:56 #10
Hvordan koden er genereret betyder ikke noget, så fejlen må ligge et andet sted. Det er ikke rigtig til at udtale sig om uden at kunne se hele koden  :)
Avatar billede saudoo Nybegynder
24. november 2006 - 15:42 #11
Når du "trækker" i dem? Bruger du en WYSIWYG-editor?
Avatar billede madssch Nybegynder
26. november 2006 - 16:12 #12
saudoo > Ja. Som sagt er felterne i editerings-mode placeret i en div med attributten "contenteditable" aktiveret.
Avatar billede saudoo Nybegynder
26. november 2006 - 20:04 #13
Oh sorry.. overså jeg lige.. :) Jeg trækker mig bare igen så. :P
Avatar billede olebole Juniormester
27. november 2006 - 11:04 #14
Læg et link, hvis du forventer yderligere hjælp  =)
Avatar billede madssch Nybegynder
27. november 2006 - 11:53 #15
Kan ikke ligge et link, da det er til en kundes online-system, men har genskabt lidt af systemet her:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
    <title></title>
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>

    <div id="EditLayer" contenteditable="true" style="width:300px;height:300px;border-style:solid;border-width:1px;border-color:000000;">
   
        <input type="text" name="Input" />
   
    </div>

</body>
</html>

Indsæt ovenstående i et tomt HTML-dokument, og åbn i IE(!). Forsøg så at gøre tekstfeltet længere. I vil så kunne se, at det også bliver højere.

Faktisk, for hver gang der trækkes og slippes, bliver feltet højere!?!
Avatar billede madssch Nybegynder
23. februar 2007 - 11:12 #16
Spg. lukket.

Jeg har måtte lave et JavaScript, som onmousedown gemmer højden på objektet. Onmouseup indsætter jeg så den gemte højde for objektet.

Begriber stadig ikke, hvorfor det skulle være nødvendigt...
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