webForumDet fria alternativet

Vad talar feltexten om?

HTML & CSS

7 svar · 308 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hjälp!

Line 151, column 10: document type does not allow element "br" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag .

  			\<br /\>

The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

Den klagar på <br> som ligger i formuläret nedan:

<div style="margin-bottom: 25px;">
        			<form action="login.php" method="post">
					<p class="form">Användarnamn:
					<br />
					<input type="text" name="username" size="20" onfocus="this.style.backgroundColor='#FFFFCC';" onblur="this.style.backgroundColor='#ffffff';" /></p>
					<p class="form">Lösenord:
					<br />
					<input type="password" name="password" size="20" onfocus="this.style.backgroundColor='#FFFFCC';" onblur="this.style.backgroundColor='#ffffff';" /></p>
					<p class="form"><input type="submit" value="Logga in" /></p>
					<br />
					Inte medlem ännu?
					<br/>
					<a href="termsofuse.php">- Registrera dig nu!</a>
				</form>
			</div>

Får jag inte ha <br> i ett formulär eller vad tycker den inte om?!

Medlem sedan dec. 19998 277 inlägg
#2

r/ tänkte fel

Medlem sedan dec. 20042 245 inlägg
#3

Du får ha BR i formulär, men inte som direkt barn till FORM.

FORM får endast ha block-element som direkt barn, och BR är ett inline-element.

Medlem sedan apr. 20041 597 inlägg
#4

Tengblad skrev:

Du har "br" inom "P" taggen

Ok. Misstänkte att det kunde vara något sådant. Hur får jag en radbrytning då? Sätter jag dit <p></p> istället för <br> där jag vill ha radbrytning?

Medlem sedan juli 20013 378 inlägg
#5

Nja - det behöver du inte göra om du inte vill...

Just innehållet i formulär skiljer sig rejält mellan Transitional och Strict...

Ur DTD:erna:
Strict:

<!ENTITY % form.content "(%block; | %misc;)*">

Transitional:

<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">

dvs - i Strict är det som zcorpan säger - i Transitional är det i princip "anything goes" ;)

Tips: i Strict kan du göra såhär:

<form ...>
<div>
... [Din ursprungskod] ....
</div>
</form>
Medlem sedan jan. 2000978 inlägg
#6

lillebror skrev:

Ok. Misstänkte att det kunde vara något sådant. Hur får jag en radbrytning då? Sätter jag dit <p></p> istället för <br> där jag vill ha radbrytning?

Du FÅR ha <br> inom <p>. Felet är att du har lagt in de två sista <br /> utanför <p> elementet, direkt under <form>, som zcorpan sa.

Medlem sedan apr. 20041 597 inlägg
#7

Det hela löste sig med att omsluta det med ett par divar. Är det ett "fult" sätt att kringå det hela eller är det helt i sin ordning?

Tack jarvklo!

Nu validerar sidan strict!

Medlem sedan juli 20013 378 inlägg
#8

Hmm...

"fult" är upp till betraktaren...
... och även i detta fall struntar nog besökaren högaktningsfullt i hur sidan är kodad...

Men frågar du mig personligen så tycker jag att svaret du fick i http://www.webforum.nu/showthread.php?p=1143442#post1143442 är "snyggare" tack vare att den koden är "renare strukturerad" och därmed ger intrycket av att vara mer genomtänkt (i motsats till ihophackad) ;)

Men, som sagt... Smaken är som baken och detta är inte "kolla min hemsida"...

Så kör du på som du gör så länge det funkar som du vill - du ju har tagit steget upp till Strict och har ambitionen att koden skall validera... Och *det* är snyggt i min bok iallafall :birp

257 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)