DNingel: input und textarea in einem form-bereich

Nabend Leute :)
Ich versuch grad ein Kontaktscript, das nicht von mir is xhtml 1.1 strict-konform zu machen.

Der Validator liefert mir dabei allerdings immer die Meldungen das die input und textarea in nem form-Tag nix zu suchen haben.

Ausserdem hätte ich gern die Buttons unter dem Textfeld.

Da ich mich mit Formularen so ziemlich null auskenne n Tipp für dumme hat ;)
Hab schon gegoogled ohne ende und mir die Definitionen und co auf slfhtml.org angeguckt, aber ich weiss nicht weiter :(

Hier ist der entsprechende Code-Teil:

<form id="kontakt" method="post" action="/kontakt.htm">  
  <div class="stress">Name, Vorname</div>  
  <input id="name" name="name" type="text" size="30" maxlength="28" value="<?php if(isset($default)) { echo $default['name'];}?>"/>  
  <p></p>  
  <div class="stress">E-Mail Adresse </div>  
  <input id="mail" name="mail" type="text" size="30" maxlength="28" value="<?php if(isset($default)) { echo $default['mail'];}?>"/>  
  <p></p>  
  <div class="stress">Betreff</div>  
  <input id="betr" name="betr" type="text" size="50" maxlength="160" value="<?php if(isset($default)) { echo $default['betr'];}?>"/>  
  <p></p>  
  <div class="stress">Nachrichtentext</div>  
  <textarea id="nachrichtenfeld" name="text" cols="50" rows="9"><?php if(isset($default)) { echo $default['mail'];}?></textarea><p></p>  
  <div class="center"><input id="formbuttons" name="" type="image" src="/images/buttons/absenden.gif" /><a href="" onclick="reset_all();"><img src="/images/buttons/reset.gif" id="resetbutton" alt="Daten resetten" /></a></div>  
</form>

Achja zu sehen is das ganze auf http://dningel.bplaced.net/kontakt.htm

MfG Daniel

  1. Lieber DNingel,

    Deine Eingabefelder müssen in Block-Elementen stecken. Das <form>-Element selbst ist kein "sichtbares" Element der Textstrukturierung, sondern definiert eben nur einen Bereich, in welchem diese Eingabe-Elemente als zusammengehörende Bestandteile stehen können - die ihrerseits aber in Textelementen (wie Textabsätze, Listenpunkte, Überschriften etc.) enthalten sein müssen.

    [code lang=html]<form id="kontakt" method="post" action="/kontakt.htm">
      <div class="stress">Name, Vorname</div>
      <input id="name" name="name" type="text" size="30" maxlength="28" value="<?php if(isset($default)) { echo $default['name'];}?>"/>

    Das <div> möchte so sehr ein <p> sein, und es möchte ein <http://de.selfhtml.org/html/formulare/strukturieren.htm#label@title=<label>> enthalten, das mit dem nachfolgenden <input> (das auch so gerne noch ins <p> gepasst hätte) logisch verknüpft werden möchte.

    PHP-Code kannste Dir in einem solchen Falle sparen, da den Validator nur interessiert, was da tatsächlich als XHTML-Code bei ihm landet. Von dem PHP-Gedönse sieht der nämlich nix - wozu sollten also wir das sehen müssen?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)