HTML5表单教程之Form新属性的应用

在HTML5中增加了许多新的标签和功能属性,那么在HTML5中新加入的这个功能与之前咱们使用的功能区别在哪里呢?请往下看。
假如咱们需要把页面中不同的表单元素提交,而这些表单元素又分布在HTML中的各个位置,那么Form就只能包含所有的Form标签了。
旧方法:
  
  
  1. <form id="form1" action="http://www.w3cfuns.com/"> 
  2.         <input id="userName" name="userName" type="text"/> 
  3.         <input id="userPwd" name="userPwd" type="password"/> 
  4.         <input id="userAge" name="userAge" type="text"/> 
  5.         <input type="submit" value="提交"/> 
  6. </form> 
但是在此Form中又包含一些不需要在此From中提交的元素(比如userAge)怎么办呢?貌似只能提交了,让后台程序员不接受此参数或者使用js把所有需要再此表单中提交的内容放入到hidden隐藏区域中,然后提交,你可能会修改成如下
改进后:
  
  
  1. <form id="form1" action="http://www.w3cfuns.com/"> 
  2.         <input id="hd_userName" name="userName" type="hidden"/> 
  3.         <input id="hd_userPwd" name="userPwd" type="hidden"/> 
  4. </form> 
  5.  
  6. <input id="userName" name="userName" type="text"/> 
  7. <input id="userPwd" name="userPwd" type="password"/> 
  8. <input id="userAge" name="userAge" type="text"/> 
  9. <input type="submit" value="提交"/> 
嗯,这样整理了一下是不错,可以满足我们的要求,但是js就太多了,浪费网络资源和HTTP请求数据包,增加项目大小,维护起来相对比较麻烦。
HTML5的方法:
  
  
  1. <form id="form1" action="http://www.w3cfuns.com/"> 
  2.         <input type="submit" value="提交"/> 
  3. </form> 
  4.  
  5. <input id="userName" name="userName" for="form1" type="text"/> 
  6. <input id="userPwd" name="userPwd" for="form1" type="password"/> 
  7. <input id="userAge" name="userAge" type="text"/> 
这里的for属性=表单的ID,这样一来,这些元素到底归那个表单就一目了然了,这个for属性,你可以理解为label中的for属性,只不过在HTML5中的这种情况下,他就属于fome1的元素了。现在再看代码,干净利索多了,项目文件也不大,易于维护。
例子:
  
  
  1. <! doctype html> 
  2. <html> 
  3. <head> 
  4. <style> 
  5. p label { 
  6. width: 180px; 
  7. float: left; 
  8. text-align: right; 
  9. padding-right: 10px 
  10. table { 
  11. margin-left: 80px 
  12. table td { 
  13. border-bottom: 1px solid #CCCCCC 
  14. input.submit { 
  15. margin-left: 80px 
  16. </style> 
  17. </head> 
  18. <body> 
  19. <form action='/register' enctype="application/x-www-form+xml" method="post"> 
  20. <p> 
  21. <label for='name'>ID(请使用Email注册)</label> 
  22. <input name='name' required type='email'></input> 
  23. </p> 
  24. <p> 
  25. <label for='password'>密码</label> 
  26. <input name='password' required type='password'></input> 
  27. </p> 
  28. <p> 
  29. <label for='birthday'>出生日期</label> 
  30. <input type='date' name='birthday' /> 
  31. </p> 
  32. <p> 
  33. <label for='gender'>国籍</label> 
  34. <select name='country' data='countries.xml'></select> 
  35. </p> 
  36. <p> 
  37. <label for='photo'>个性头像</label> 
  38. <input type='file' name='photo' accept='image/*' /> 
  39. </p> 
  40. <table> 
  41. <thead> 
  42. <td><button type="add" template="questionId">+</button> 保密问题</td> 
  43. <td>答案</td> 
  44. <td></td> 
  45. </thead> 
  46. <tr id="questionId" repeat="template" repeat-start="1" repeat-min="1" repeat-max="3"> 
  47. <td><input type="text" name="questions[questionId].q"></td> 
  48. <td><input type="text" name="questions[questionId].a"></td> 
  49. <td><button type="remove">删除</button></td> 
  50. </tr> 
  51. </table> 
  52. <p> 
  53. <input type='submit' value='send' class='submit' /> 
  54. </p> 
  55. </form> 
  56. </body> 
  57. </html> 

这是Opera 浏览器的测试。类似于站长的HTML5的表单系统,
这个运用了一些HTML5的新的表单元素,比如email类型的输入框(ID),日期类型的输入框(出生日期)。并且使用了重复模型来引导用户填写保密问题,而在个性头像的上传中,通过限制文件类型,方便用户选择图片进行合乎规范的内容上传。而用户选择国籍的下拉选择输入框中,采用的是外联数据源的形式,外联数据源使用coutries.xml,内容如下:
   
   
  1. <select xmlns="http://www.w3.org/1999/xhtml"> 
  2. <option>China</option>  
  3. <option>Japan</option>  
  4. <option>Korea</option> 
  5. </select> 
并且form的enctype是application/x-www-form+xml,也就是HTML5的XML提交。所以一旦form校验通过,form的内容将会以XML的形式提交。你还会发现,在ID输入框如果没有值,或者输入了非email类型的字符串时,一旦试图提交表单,就会有提示错误的信息出现,而这都是浏览器内置的。
本文转载自:http://www.w3cfuns.com/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更这些源码资源,以适应各平台技术的最发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更这些源码资源,以适应各平台技术的最发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
HTML表单是网页中常用的一种交互元素,用于收集用户的输入数据并提交给服务器进行处理。下面以一个注册表单为例来说明HTML表单的提交过程。 一个简单的注册表单通常包括用户输入用户名、密码和确认密码等字段,并且有一个提交按钮。用户填写完表单后,点击提交按钮,就会触发表单的提交事件。 HTML表单的代码如下: ``` <form action="register.php" method="POST"> <label for="username">用户名:</label> <input type="text" id="username" name="username" required><br> <label for="password">密码:</label> <input type="password" id="password" name="password" required><br> <label for="confirm_password">确认密码:</label> <input type="password" id="confirm_password" name="confirm_password" required><br> <input type="submit" value="注册"> </form> ``` 上述代码中,`<form>`标签定义了一个表单,`action`属性指定了提交数据的目标地址,`method`属性指定了数据提交的方式。 用户填写表单后,点击提交按钮,表单数据将会被封装成一个HTTP请求,并发送给`register.php`文件。`register.php`文件是一个服务器端脚本,用于接收和处理表单数据。 `register.php`文件的代码如下: ```php <?php $username = $_POST['username']; $password = $_POST['password']; $confirm_password = $_POST['confirm_password']; // 进行数据验证和处理 // ... // 返回处理结果给用户 // ... ?> ``` `register.php`文件通过`$_POST`变量获取到表单提交的数据,并进行必要的验证和处理。在实际应用中,我们可以根据具体的需求来处理表单数据,比如将数据存储到数据库中,发送邮件通知等。 最后,`register.php`文件可以向用户返回处理结果,比如显示注册成功或失败的消息。你可以使用`echo`函数输出HTML代码来展示页面。 以上就是一个简单的HTML表单提交案例,它展示了HTML表单的基本使用和数据提交的过程。实际应用中,我们可以根据具体的业务需求来定制表单,并在服务器端对用户提交的数据进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值