经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » CSS » 查看文章
028、HTML 标签3表单标签插入组件
来源:cnblogs  作者:_nbloser  时间:2018/11/10 0:30:36  对本文有异议

内容:表单标签插入组件(经常使用)
##############################################################

  1. form表单标签和input组件
  2. <form>
  3. 用户名称:<input type="text" name="username" value="hehe" /><br/>
  4. 输入密码:<input type="password" name="psw" /><br/>
  5. 选择性别:<input type="radio" name="sex" value="nan" />
  6. <input type="radio" name="sex" value="nv" checked="checked"/><br/>
  7. 选择技术:<input type="checkbox" name="tech" value="java" />JAVA
  8. <input type="checkbox" name="tech" value="html" />HTML
  9. <input type="checkbox" name="tech" value="css" />CSS<br/>
  10. 一个按钮:<input type="button" value="有个按钮" onclick="alert('有个按钮,我弹!')"/><br/>
  11. 隐藏组件:<input type="hidden" name="zhangsan" value="20"/><br/>
  12. 选择文件:<input type="file" name="file" /><br/>
  13. 图片组件:<input type="image" src="1.jpg" /><br/>
  14. 选择国家:
  15. <select name="country">
  16. <option value='none'>--选择国家--</option>
  17. <option value="cn" selected="selected">中国</option>
  18. <option value="usa">美国</option>
  19. <option vaue='en'>英国</option>
  20. </select>
  21. <br/>
  22. 个人介绍:<textarea rows="4" cols="20"></textarea>
  23. <input type="submit" value="提交"/><input type="reset" value="恢复默认"/>
  24.  
  25. </form>


如果这些值需要提交到服务端的,每个组件的属性都需要name




####################################################################################
浏览器两种提交方式
以下get和post提交数据来自代码
<!--
    form标签中的action用于明确目的地。 method属性用于明确提交的方式。
    方式有两种 get post。
    
    get提交的数据:
    地址栏:http://192.168.1.223:9090/?user=abc&psw=12&repsw=12&sex=nan&tech=java&country=cn
    
    GET /?user=abc&psw=12&repsw=12&sex=nan&tech=java&country=cn HTTP/1.1
    Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET4.0E)
    Host: 192.168.1.223:9090
    Connection: Keep-Alive
    
    
    
    post提交:
    地址栏:http://192.168.1.223:9090/
    
    POST / HTTP/1.1
    Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
    Accept-Language: zh-cn
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET4.0E)
    Host: 192.168.1.223:9090
    Content-Length: 56
    Connection: Keep-Alive
    Cache-Control: no-cache
    
    user=abcd&psw=123&repsw=123&sex=nv&tech=html&country=usa
    
    
    GET和POST的区别:
    区别1:地址栏是否显示信息。
        GET提交,将提交的数据显示在地址栏。
        POST提交,提交数据不显示在地址栏。
        
    区别2:敏感信息是否安全。
        GET提交,提交敏感信息不安全。
        POST提交,提交敏感信息安全。
        
    区别3:数据的体积。
        GET提交,信息存储到地址栏,存储的信息体积有限。
        POST提交,可以提交大体积数据信息。
    
    区别4:提交信息的http封装形式不同。
        GET提交,将提交信息封装到了请求行。
        POST提交,将提交信息封装到了请求体。
        
        
    综上所述:表单提交,建议使用POST.
    
    
    
    问题1:如果表单加入了增强型的校验(只有所有选项都符合规则的情况下,才可以提交)
        这时,服务端收到数据后,还需要校验吗?
        需要,因为客户端有可能避开校验,提交错误的数据到服务端,所以为了安全性,服务端必须做校验。
        
        
    和服务端交互有三种方式:
    1,地址栏输入。get
    2,超链接。get
    3,表单。get post
    
    问题2:服务端如果进行校验,页面还需要做校验吗?
        需要,为了减轻服务端的压力,同时为了增强用户的体验效果。
    
     -->



#############################################
加入表格标签,好看,下面实现简单提交

  1. <body>
  2. <form action="127.0.0.1:8080" method="get">
  3. <table border="1" bordercolor="blue" width="700px" cellspacing="0" cellpadding="10">
  4. <tr>
  5. <th colspan="2">用户注册</th>
  6. </tr>
  7. <tr>
  8. <th>用户名称:</th>
  9. <td><input type="text" name="usename"></td>
  10. </tr>
  11. <tr>
  12. <th>输入密码:</th>
  13. <td><input type="password" name="pwd"></td>
  14. </tr>
  15. <tr>
  16. <td>选择性别:</td>
  17. <td><input type="radio" name="sex" value="male"/>
  18. <input type="radio" name="sex" value="female"></td>
  19. </tr>
  20. <tr>
  21. <td>选择技术:</td>
  22. <td><input type="checkbox" name="tech" value="java">java
  23. <input type="checkbox" name="tech" value="HTML">HTML
  24. </td>
  25. </tr>
  26. <tr>
  27. <td>一个按钮</td>
  28. <td><input type="button" value="按钮" onclick="alert('love')"></td>
  29. </tr>
  30. <tr>
  31. <th colspan="2"><input type="submit" value="提交"></th>
  32. </tr>
  33. </table>
  34.  
  35. </form>
  36. </body>

 

##简单服务器用于执行上面的提交:

  1. public static void main(String[] args) throws IOException
  2. {
  3. ServerSocket ss = new ServerSocket(8080);
  4. Socket s = ss.accept();
  5. InputStream is = s.getInputStream();
  6. byte[] buf = new byte[1024];
  7. int len = is.read(buf);
  8. String str = new String(buf,0,len);
  9. System.out.println(str);
  10. PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  11. out.println("<font color='blue' size='7'>注册成功</font>");
  12. s.close();
  13. ss.close();
  14. }

 

 

############################################################################
其他标签

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  2.  
  3. <body>
  4. <b>演示</b><i>一下</i><u>其他</u><strong>标签</strong>。语义化
  5. X<sub>2</sub> X<sup>2</sup>
  6. <marquee behavior="slide" direction="down">哇,我会飞啦!</marquee>
  7. <pre>
  8. class Demo
  9. {
  10. public static void main(String[] args)
  11. {
  12. System.out.println("hello");
  13. }
  14. }
  15. </pre>
  16. </body>

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号