16.1 创建表单

表单有三个重要的组成部分:form元素,其中包含用于处理表单的脚本的URL和处理表单的方法(postget);表单元素,如字段和选择框(复选框、下拉菜单、单选按钮);以及提交按钮,用于触发向服务器上的接听脚本发送数据的动作,如图16.1.1所示。

  1. <form method="post" action="showform.
  2. php">
  3. <fieldset>
  4. <h2 class="account">Account</h2>
  5. <ul>
  6. <li>
  7. <label for="first_name">First Name:</label>
  8. <input type="text" id="first_name" name="first_name"
  9. class="large" />
  10. </li>
  11. <li>
  12. <label for="last_name">Last Name:</label>
  13. <input type="text" id="last_name" name="last_name" class="large"/>
  14. </li>
  15. ...
  16. <input type="submit" class="create_profile" value="Create Account">
  17. </fieldset>
  18. </form>

图16.1.1 每个表单都有三个部分:form元素、访问者输入信息的实际表单元素以及用于将收集到的信息发送给服务器的提交按钮(或活动图像)

关于对表单使用method="post"还是method="get"的选择有很多要考虑的细节。通常情况下,我推荐使用method="post",因为使用这种方法可以向服务器发送更多的数据,同时表单中的信息不会显示在URL中。因此,如果需要在数据库中保存、添加和删除数据,就应选择post。如果对表单使用method="get",那么表单中的数据会显示在浏览器的地址栏里,这样,用户就可以将结果存入书签。大多数搜索引擎都会在搜索表单中使用method="get",从而让用户可以保存搜索查询,或者将查询发给朋友。

创建表单的步骤

  • 输入

  • 输入action="script.url">,这里的script.url是提交表单时要运行的脚本在服务器上的位置。

  • 根据从16.5节开始讲解的知识,创建表单的内容(包括一个提交按钮)。

  • 输入以结束表单。

提示 可以在本书的配套网站下载showform.php脚本(www.bruceontheloose.com/htmlcss/examples/),并在第2步中使用该脚本以测试表单(在本章中都可以使用该脚本对表单进行测试)。该脚本也显示在图16.2.1中。

 

提示 为了让访问者将表单中的数据发送给你,需要包含一个提交按钮。

 

提示 可以使用CSS对表单元素进行布局(如图16.1.2所示)。贯穿本章的表单示例如图16.1.3所示。

 

提示 还可以使用get方法对通过表单收集到的信息进行处理。不过,由于get方法对一次性可以收集的数据的量有限制,而这个表单中有一个文件上传框,因此我推荐使用post方法。

  1. fieldset {
  2. background-color: #f1f1f1;
  3. border: none;
  4. border-radius: 2px;
  5. margin-bottom: 12px;
  6. overflow: hidden;
  7. padding: 0 10px;
  8. }
  9. ul {
  10. background-color: #fff;
  11. border: 1px solid #eaeaea;
  12. list-style: none;
  13. margin: 12px;
  14. padding: 12px;
  15. }
  16. ul li {
  17. margin: 0.5em 0;
  18. }
  19. label {
  20. display: inline-block;
  21. padding: 3px 6px;
  22. text-align: right;
  23. width: 150px;
  24. vertical-align: top;
  25. }
  26. input, select, button {
  27. font-size: 100%;
  28. }
  29. .small {
  30. width: 75px;
  31. }
  32. .medium {
  33. width: 150px;
  34. }
  35. .large {
  36. width: 250px;
  37. }

图16.1.2 这是用于对表单进行格式化的样式表的一部分。完整的样式表见本书的配套网站www.bruceontheloose.com/htmlcss/examples/

16.1 创建表单 - 图1

图16.1.3 这是本章讨论的完整的New Account表单