为什么我的HTML代码会显示在我的表单文本区域中?

时间:2013-01-05 01:51:12

标签: html html5 forms web

我正在尝试使用以下代码在HTML中创建一个双列表单。

<div id="form-wrapper">
  <form class="contact_form" action="" method="post" name="contact_form">
    <ul>
      <div id="form_left">
        <li>
          <span class="required_field"> * Denotes a required field</span>
        </li>
        <li>
          <label for="name">Name:</label>
          <input type="text" name="name" placeholder="John Doe">
        </li>
        <li>
          <label for="telephone">Contact Number:</label>
          <input type="tel" name="telephone" placeholder="(01225) 123456">
        </li>
        <li>
          <label for="email">Email:</label>
          <input type="email" name="email address" placeholder="example@example.com">
        </li>
      </div>  
      <div id="form_right">
        <li>
          <label for="message">Message:</label>
          <textarea name="message" cols="40" rows="6" >
        </li>
      </div>
    </ul>
  </form>
</div>

(http://jsfiddle.net/qrttZ/)

但由于某种原因,它在文本区域窗口中显示我的HTML代码的下半部分。

我看不到任何打开的标签,所以我不知道为什么会这样。

1 个答案:

答案 0 :(得分:1)

HTML并不需要XHTML自我关闭短标签的事实,例如<input />意味着新手很容易犯这个错误,因为textarea执行的目的非常相似。只是因为一个很好的理由它需要关闭。

<textarea name="message" cols="40" rows="6" ></textarea>

...

完成了,这个

<ul>
   <div id="form_left">
      <li>

很糟糕。 <li>显示关注<ul>,那里不应该有<div>

另外

<label for="name">Name:</label>
<input type="text" name="name" placeholder="John Doe">

输入中没有idfor无用。

<label for="name">Name:</label>
<input type="text" name="name" id="name" placeholder="John Doe">

但是,如果你要使用一个标签,它与输入之间没有标记,如果你没有设计样式

<label>Name: <input type="text" name="name" placeholder="John Doe"></label>

输出较少