精华内容
下载资源
问答
  • 为了让服务达到最大化的体现,我们设计师需要提供用户一个良好的用户体验。我们需要邀请用户,为他们描述服务产品有多少好,给他们解释为什么他们需要填那些表单并且暗示他们会因此得到利益的回报。当然,我们也应该...

     如果你想最大化你的服务所带来的效益,你就必须最大化你网站表单的成功率。仅仅简单的让用户在你网站上注册是不够的,除非你有能够让访问你网站的人一看就映像深刻的点子。为了让服务达到最大化的体现,我们设计师需要提供用户一个良好的用户体验。我们需要邀请用户,为他们描述服务产品有多少好,给他们解释为什么他们需要填那些表单并且暗示他们会因此得到利益的回报。当然,我们也应该做的非常方便让用户来参与。
      但是设计有效的页面表单不是件容易的事情。有个不争的事实就是:没人喜欢填表单——无论是线上还是线下的。因此,作为设计师我们需要找出能够让表单百分百简单、直接甚至无痛苦的正确的设计决策。

      但是怎么样才能准确地找出这些决策?布局上那些链接应该放在表单的什么位置?我们应该怎么设计它?我们应该怎么样高亮标签,应该怎么样排列他们?页面表单设计样式怎么样才符合现代化的网站?我们拿这些问题问我们自己,并且通过实施调查来得到这些结果。

      下面我们介绍一下现在互联网web表单设计样式的调查结果。这些结果是分析了100个拥有和web表单相关流程的网站而得出的。我们决定从注册表单开始。


      注册表单设计调查

      调查的目的主要是提供给那些凭直接来判断有效性的设计师和开发人员参考依据。我们也会介绍一些如何让web表单成为完美的友好用户界面的指导方针。

      我们已经选择了100个和web表单有关的大型网站。这些网站是根据博客搜索和Alexa排名以及搜索引擎中的受欢迎程度等方面去考虑选择的。这些网站直接商业目标的影响普遍和他们的web表单相关,因此在流程中需要指定为高优先级进行设计。尤其注册表单是为解释为什么许多评论表单是来自于社会类型的网站的关键。

      我们关注注册表单是想把更多关键表单单独开来(例如校验表单)。然后我们分别完成每个被选择网站的注册表单并且分析这些表单的设计方法。

      我们在每个表单中利用一个特殊的Email账户和特殊的用户名,为了使调查尽可能地具有广泛性,我们指出29个在设计web表单时会碰到的不同的设计问题和疑问。

      我们将它们分类并试图找出相似的设计方针和设计思路。我们试图从可用性观点上着手,不断关注两者的正面和反面的例子并将他们陈列在调查结果中。

      请注意这个文章不是关于校验表单——那是另外一个讨论的话题,我们把它独立开来看待成一个即将要讨论的文章。我们要感谢Wufoo为我们提供构架来引导我们的调查。

      1.表单的安置

      1.1注册表单链接的标题是怎么样的?

      当用户想要加入网站是,用户会寻找正确的短语,用户知道它们应该是“sign- up”,“register”,“join”,“join”,“become a member”或者“creat an account”等。显然,用户期望他们其中之一的链接可以链到注册表单。不幸的是,情况不一定是这样的。

     


      从图表可见,最受欢迎的标题是“Sign up”(40%),接着是“Join”(18%),“Register”(18%)以及“Creat account”(17%),我们观察到极少数有类似于我们去年看到的按钮那样即大,又闪亮,并且写着“start here”的字样。显而易见,设计师与其设计并强调服务的功能性还不如试图去表达信息。

      1.2注册表单的链接放在哪儿?

      当用户第一次访问一个站点,他们试图找出单独布局块是代表什么。他们的眼睛运动是跳跃的,并且用户试图了解哪个区域是更重要的,他们想要的内容可能被放在什么地方。为了满足用户体验,设计师需要帮助用户直观地知道哪些是在开始使用服务前所需要做的事。

      如果用户找不到通往注册表单的链接,他可能就不会注册你的服务。因此让链接尽可能地显而易见是最关键的。那么设计师应该把“注册”的链接放在什么地方才会让用户感觉更可接近?

      根据我们的调查,这个注册链接

    59%的网站是放在网站的顶部(其中76%是被放在右上角)
    21%的网站是放在首页的突出位置(链接或者表单自己被放在首页上)
    有9%是被隐藏在顶部“登陆”链接之后(例如:Craigslist)
      实际上注册链接很少被放在侧边栏上(7%-Propeller,Xing),但是4%的站点为用户直接提供服务,只有在用户需要保存设置的时候才需要用户进行注册。

      2.表单的设计

      2.1需要简化注册表单的样式吗?

      当用户点击了注册链接之后,他很有可能想要注册你提供的服务。更重要的是,他并没有点击那些探索更深导航操作的链接或者具有吸引力的闪亮的广告链接。

      因此,设计师尝试去掉所有没必要的详细资料以及不能帮助用户完成表单的描述。常常只是呈现一个logo和表单自身,没有任何的导航操作和附加信息。想法:用户必须尽可能地关注在他要去完成的任务上。任何会分散用户注意力的因素不得不被删除。

     


      因此,设计师经常使用“最小化”的布局来构建注册表单。根据我们的调查,61%的web表单和普遍的页面相比更简单(例如:MovableType, Livejournal, Amazon, Yandex.ru)

     

      根据雅虎的注册表单可以看出,访问者仅仅需要填写账户信息即可,没有别的干扰因素去分散用户的注意力。注意表单中的语气和语义都是吸引人的对话式,这既简单又友好。

     

     

     

      Flixster是个典型的反面例子,它把表单塞得很满,一点也不尊重它的访问者。注册页面上一下子提供了每种可能的操作导航,并且登陆页面上右边的广告比登陆表单还要突出。这样一点也不友好,Photobucket应该是我们见过的第二拥挤的web表单。

      2.2需要提供任何附加信息吗?

      许多设计师试图通过类似于帮助、信息内容要求甚至是版权申明的附加信息来鼓励访问者主动填写表格。但是它不同于点对点,在大部分例子中注册的好处依然是通过表单来体现。

    41%的表单告诉用户注册的好处
    (MySpace, Del.icio.us, Last.fm, LinkedIn, Digg, Mister Wong, Break.com)
    28%仅仅是单纯的注册页面,没有任何附加信息
    (Pownce, DeviantArt, Dailymotion)
    11%告诉用户需要多久时间来填写。
    (Threadless, Newsvine, Wordpress)
      只有很少一部分(6%)网站正面提及在注册过程中所需要填写的信息。一些步骤中会提供一些警告(8%)和示意(6%,例如37signals, Bloglines)

      2.3单页表单VS多页表单

      调查结果中,93%的表单是单页表单。显然地,设计师试图帮助用户尽可能快速和无痛苦地完成注册流程。只有一些网站利用多页表单试图把探索用户参数选择结合在注册过程中。

      比如,Meebo把一个完整的注册过程整合在一张注册表单中,并且通过一个弹出框的形式为用户提供注册向导。这个表单由6个页面组成,用户通过一些附加信息的选择从而进行他们账户的设置。

     

      2.4输入框标附加信题需要突出吗?

      62%的注册表单用加粗的方式去突出输入框的标题。为了引人注目而不止一个的使用斜体去达到同样的效果。为了让标签能够更加可见,20%的注册表单用色彩,18%的用纯文本。

     


      Large version

      2.5标签对齐

      老实说,我们已经预料到可能对齐是一个很强的趋势 。但是在我们看来,标签对齐的趋势已经不再那么强烈了。

    在调查中41%的网站使用标签右对齐  (YouTube, Facebook, Metacafe)
    30%的注册表单使用顶端对齐 (Behance.net, Wufoo, Tickspot, DZone)
    29%使用的是左对齐 (Digg, Ning, Wykop.pl, 43things, StupZ).

     

      根据“Matteo Penzo的标签放置研究结果”(1996)和“Luke Wroblewski的发现”(PDF),右对齐能够戏剧性地减少完成时间因为它们几乎不需要眼睛的注视。如果你想要达到相同的目的但是只有一块受实际区域制约的垂直屏幕,标签顶端对齐则会更好一些。还有以防你的表格要求人们扫描标签去了解什么是必须的(不熟悉或者高级的数据),左对齐则是最好的。

      2.6有多少必填区域?

      当进行一个调查时,我们已经注意到表单中的必填项越来越少了。几年前,设计师要求访问者填写他们的姓名、地址、城市和个人兴趣,但现在仅仅只需要登录名、密码和确认密码。

     

       我们发现54%的表单要求用户最多填写5个输入框(其中6%的网站在使用服务前根本不需要注册)。34%的表单使用6-8个输入框,然而有12%的网站顶着用户的忍耐度让他们完成超过9个的必填项。

      2.7有多少可选项?

      和上面发现的类似,我们注意到大多数网站避免可选项并且要求用户在完成注册流程之后补全可选项。其中62%的表单根本就没有可选项,还有98%的表单有少于5个的可选项。

     


      2.8垂直或者水平的安排区域

      在这个方面,垂直无阻碍延伸的垂直布局区域是注册表单表现出强大趋势。86%的网站把输入框垂直布局。除此以外,15%的布局更强调利用漂亮且吸引人的视觉设计来让访问者在填写表单时感到更舒适。

     

      Box.net提供了一个简单的垂直布局的输入区域。当用户输入数据的时候,他们的眼睛固定在纵轴输入框左侧的交叉点上。

     


      Mint是一个横向布局的注册表单。当用户输入数据的时候,他们的眼睛需要跳来跳出。

      更多的发现

    调查结果中18%的注册表单旁边都会有登录表单或者登录连接。(例如, YouTube, Reddit, Digg, Lulu, Metacafe)
    78%的注册表单没有用星号或者高光去表示必选框;大多数情况无论星号或者其他形式的高光都不会被使用。
    9%的注册表单用流程指示来告诉用户他们进行到哪一步了,并且告诉他们哪些步骤是完成注册的必填项。
    85%的站点更喜欢用尽可能简单的web表单。
    区域通常都是用空白区来群组和拆分的,有时边框的用途也和空白区一样(22%),还有9%的情况是利用不同的背景色来区分。
      概要

      让我们来为这个web表单设计样式调查的第一部分做一个总结。请记住,我们只考虑注册表单。

    注册链接的标题大多数是“sign up”(40%)并且被放在右上角。
    注册表单为了避免分散用户的注意力而使用简单的样式。
    93%的注册表单是单页表单。
    41%的注册表单通过解释注册的优势来吸引用户注册。
    62%的输入框标题是通过加粗高亮的。
    标签不是都排成一条直线的。
    设计师试图不用必填项和可选项。
    86%的注册表单更喜欢用垂直布局的表单。


    文章来自中国建站:http://www.jz123.cn/text/046222_3.html

    展开全文
  • 网页表单文档设计及技术实现

    千次阅读 2015-05-21 15:00:30
    在很多业务流程应用中,业务审批单的样式、内容多变,然而系统对业务表单数据并不敏感,因此,不使用对应的关系型数据表,而采用NoSQL技术来优化设计。基于上述原因,业务审批单采用网页表单文档设计

    在很多业务流程应用中,业务审批单的样式、内容多变,然而系统对业务表单数据并不敏感,因此,不使用对应的关系型数据表,而采用NoSQL技术来优化设计。因为NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。按NoSQL的特性,可以灵活进行schema结构(列定义)的修改,理论上应该可以很好支持这些多样表单的持久化保存。基于上述原因,业务审批单采用网页表单文档设计。

    网页表单设计

    首先,我们看一看在HTML表单元素(对象)中使用自定义属性的示例:

    <input fieldid="name" fieldtype="char" size=50>名称</input><br>
    通过自定义属性“fieldtype”来定义数据类型。<br>
    <input fieldid="old" fieldtype="number" size=20 value="42">年龄</input><br>

    网页表单数据字段定义

    为了避免浏览器兼容性问题,通过自定义属性的方式来定义表单文档数据项,定义规则如下:

    属性名称作用说明备注
    fieldid数据字段名称避免与id冲突,单独命名
    fieldtype数据字段类型支持主流number、text、datetime等
    fieldsize字段长度主要是定义number、text等长度
    fieldname字段名称定义中文名称
    subtable子表的列数适用于嵌套多行子表结构,在table控件中定义
    subid子表的列名定义适用于嵌套多行子表结构

    对应JSON数据格式如下:

    {数据字段名称1:value1,数据字段名称2:value2,数据字段名称n
    :valuen}

    网页表单数据选择列表的数据定义

    待续…

    主从结构,动态增加数据行

    这里写图片描述
    如图所示,在HTML文档中,表单中一对多的从表(多行输入数据的table)定义如下:

    <button id="testtable" type="button" onclick="insertRow()">测试插入一行</button><br>
    
    <table id="dynamictable" fieldid="subdatas" subtable="3" border="1" cellspacing="0" width="400">
      <tr>
        <td>数据名称</td><td>数据类型</td><td>数值</td>
      </tr>
      <tr>
        <td><input type="text" subid="fieldid" subcol=0 name="fieldid" size=50></td>
        <td><input type="text" subid="fieldtype" subcol=1 name="fieldtype" size=20></td>
        <td><input type="text" subid="fieldvalue" subcol=2 name="fieldvalue" size=20></td>
      </tr>
    </table>

    使用JavaScript技术实现的动态添加一行的代码如下:

    //定义插入一行表格的函数
    function insertRow(){
      var dytb_id = 'dynamictable';
      var dy_row_num = document.getElementById(dytb_id).rows.length;
      //取table中第二行单元格集合
      var dy_row = document.getElementById(dytb_id).rows[1].cells;
      //在table末尾,追加一行
      var dytb=document.getElementById(dytb_id).insertRow(dy_row_num);
    
      for (i = 0;i<dy_row.length; i++){
        var dy_td = dytb.insertCell(i);
        dy_td.innerHTML = dy_row[i].innerHTML;   
      } 
    }

    通过上面示例,在表单文档设计中,需要定义规则如下:

    • 动态增加行首先定义表头,再定义出一行输入控件;
    • 增加行的识别定义,用以确认是从表多行数据;
    • 每个单元格的定义,与表单数据字段定义方式一样。

    网页表单解析

    虽然通过网页文档做为审批表单,但也需要支持简捷的数据识别和简易的统计查询,这里采用MongoDB数据库做为底层数据库支撑。

    解析目的及用处:

    • 解析文档中的数据字段及数值,并形成JSON数据;
    • 在文档中定义数据字段、业务规则,用以与流程衔接,需要解析定义;
    • 在文档中的定义,避开关系型数据复杂的管理,此模型可以追溯早期Lotus Notes/Domino数据库模型。

    文档解析方式为通过遍历方式解析表单,表单数据形式涉及到单表及主从结构。而且,需要表单快速开发工具支撑。

    网页表单定义解析

    网页表单定义解析主要用于获取表单数据模型,用以为数据统计分析模型提供服务,形成数据接口模型。

    网页表单业务数据解析

    演示界面如下图所示。
    这里写图片描述

    HTML文档定义如下:

    <body>
    <h1>表单元素遍历测试 JavaScript</h1>
    <p id="demo" >这是表单数据解析示例.</p>
    <div> 
    <input id="name" fieldtype="char">名称</input><br>
    通过自定义属性“fieldtype”来定义数据类型。<br><br>
    
    <button id="testtable" type="button" onclick="insertRow()">测试插入一行</button>&nbsp&nbsp
    <button id="test" type="button" onclick="getallelem()">测试解析表单数据</button><br><br>
    <input fieldid="title" fieldtype="text" value="测试申请单" size=100>标题</input><br>
    <input fieldid="old" fieldtype="number" value="42" size=100>年龄</input><br>
    多行子表单,字段属性定义为“subid”,表单按数据字段属性定义,标识出含有子表,属性为“subtable”单独定义列数,其他不变。
    <table id="dynamictable" fieldid="subdatas" subtable="3" border="1" cellspacing="0" width="400">
    <tr>
    <td>数据名称</td><td>数据类型</td><td>数值</td>
    </tr>
    <tr>
    <td><input type="text" subid="fieldid" subcol=0 name="fieldid" size=50></td>
    <td><input type="text" subid="fieldtype" subcol=1 name="fieldtype" size=20></td>
    <td><input type="text" subid="fieldvalue" subcol=2 name="fieldvalue" size=20></td>
    </tr>
    </table>
    <br><input fieldid="flag" fieldtype="text" value="end" size=100>结束标志</input><br>
    </div> 
    </body>

    提取表单数据到JSON格式字符串的JavaScript函数如下所示:

    function getallelem(){
        var elems = document.getElementsByTagName("*");
        var ret_json = "";  //定义返回JSON数据字符串
        var n = 0;          //JSON数据起点
        var m = 0;          //JSON嵌套子文档起点
        var subcolumns = 0;  //多行表单列数
        var subrows = 0;     //多行表单数据行数
        var row_num = 1;     //默认是一行数据
    
        for(var i=0;i<elems.length;i++){
            if (elems[i].hasAttribute("fieldid") && !(elems[i].hasAttribute("subtable"))){
                if (n == 0){
                    ret_json += "\"" +elems[i].getAttribute("fieldid") + "\":\"" + elems[i].value + "\"";
                }else{
                    ret_json += ",\"" + elems[i].getAttribute("fieldid") + "\":\"" + elems[i].value + "\"";
                }
                n++;
            }else{
                if (elems[i].hasAttribute("subtable")){
                    subcolumns = elems[i].getAttribute("subtable");
                    var tbl_id = elems[i].id;
                    //取表单数据行数
                    subrows = document.getElementById(tbl_id).rows.length - 1;
                    ret_json += "\",\"" + elems[i].getAttribute("fieldid") + "\":[{\"";
                    m = 0;
                }else{
                    if (elems[i].hasAttribute("subid") && (m < subcolumns)){
                        if (m == 0){
                            ret_json += elems[i].getAttribute("subid") + "\":\"" + elems[i].value + "\"";
                        }else{
                            ret_json += ",\"" + elems[i].getAttribute("subid") + "\":\"" + elems[i].value + "\"";
                        }
                        m++;
                    }else{
                        if (elems[i].hasAttribute("subid")){
                            ret_json += "},{\"" + elems[i].getAttribute("subid") + "\":\"" + elems[i].value + "\"";
                            m = 1;  
                            row_num++;  
                        }
                    }
                    if ((row_num == subrows) && (row_num>0) && (m == subcolumns)){
                        ret_json += "}]";
                        m=0,row_num=0;
                    }
                }
            }
        } 
        alert("{" + ret_json + "}");    
    }
    

    网页表单文档存储

    保存操作及事务处理

    在保存网页表单文档操作中,需要把文档存储到MongoDB、和关系型数据库,二者不在一个事务中。因此,可以使用Cordys平台自动流程模型进行事务管理。

    Created with Raphaël 2.1.2 函数 函数 HTML HTML 事务管理流程 事务管理流程 存储MongoDB环节 存储MongoDB环节 存储业务实例环节 存储业务实例环节 解析HTML文档() 生成JSON数据() 启动流程() 调用存储表单数据Webservice() 调用存储业务实例数据Webservice()

    保存操作及非事务管理方式

    Created with Raphaël 2.1.2 函数 函数 HTML HTML 非事务管理 非事务管理 存储MongoDB环节 存储MongoDB环节 存储业务实例环节 存储业务实例环节 解析HTML文档() 生成JSON数据() 保存文档操作() 调用存储表单数据Webservice() 调用存储业务实例数据Webservice() 回写保存完毕Webservice()

    由于作者水平有限,欢迎反馈交流。

    参考:
    JavaScript遍历HTML表单元素及表单定义 肖永威 2015.5
    Cordys BOP 4平台开发实战——MongoDB提供文档服务(1) 肖永威 2015.4

    展开全文
  • HTML网页设计基础笔记 • 【第3章 表单

    万次阅读 多人点赞 2020-03-21 10:03:12
    注册网站的用户时需要输入用户的信息,用户输入到网页中的信息均通过表单中的各表单元素来接收,然后传递给服务器。 表单网页开发中很常见,典型的应用场景有以下几种: 网站的登录、注册。 填写订单信息。...

    全部章节   >>>>


    本章目录

    3.1 表单

    3.1.1 表单概述

    3.1.1 表单概述(续)

    3.1.2 表单标签

    3.1.3 表单数据的提交方式

    3.2 输入框和按钮

    3.2.1 表单元素概述

    3.2.2 输入框

    3.2.3 按钮

    3.3 单选按钮、复选框和下拉框

    3.3.1 单选按钮

    3.3.2 复选框

    3.3.3 下拉框

    3.4 表单验证

    3.4.1 必填验证

    3.4.2 类型匹配验证

    3.4.3 控制字符数量

    3.4.4 验证输入范围

    3.4.5 自定义错误消息

    总结:


    3.1 表单

    3.1.1 表单概述

    在遨游网络世界时,我们除了浏览网页信息,有时还需要将一些数据输入到网页中,经过网页提交至服务器。例如,我们登录邮箱时,需要输入用户名和密码。注册网站的用户时需要输入用户的信息,用户输入到网页中的信息均通过表单中的各表单元素来接收,然后传递给服务器。

    表单在网页开发中很常见,典型的应用场景有以下几种

    网站的登录、注册。

    填写订单信息。

    填写调查问卷。

    输入关键字搜索。

    以注册页面为例,注册表单中包含了以下表单元素

    • 文本框:常用于输入姓名、用户名和电子邮件等
    • 密码框:用于输入密码,显示为代替字符,如星号“*”
    • 单选按钮:在多个选项中选择 1 个,如性别
    • 复选框:在多个选项中可以选择 1 个或多个,如爱好
    • 拉列表:在多个下拉选项中选择 1 个,如省份、月份等
    • 按钮:通常用于执行表单信息的提交或取消等功能。

    3.1.1 表单概述(续)

    表单是 HTML5 的一个重要部分,主要用于采集和提交用户输入的信息。例如,登录时输入的用户名和密码就是通过表单实现数据提交,如果没有表单,输入的登录信息将无法被网站获取。

    3.1.2 表单标签

    HTML 中,<form> </form> 标签对用来创建一个表单,即定义表单的开始和结束位置,在标签对之间的一切都属于表单的内容。在表单的 form 标签中,还可以设置表单的基本属性,包含表单的名称、处理程序和传送方法等。

    语法:

    <form name=“表单名字” action=“URL” method=“get/post”>
    	表单元素
    </form>
    

    name 属性用于设置表单的名称。

    action 属性用于设置处理表单提交数据的 url。

    method 属性用于定义浏览器将表单中的信息提交给服务器端的方式,其值可以取 get 和 post 两种,默认为get。

    示例:

    <!doctype html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title> 无标题文档 </title>
    	</head>
    	<body>
    		<h2> 处理登录 ........</h2>
    	</body>
    </html>
    
    <body>
    	<h2> 用户登录 </h2>
    	<hr/>
    	<form name="login" action="login_success.html">
    		用户名 :<input type="text" name="username" /><br/> 密 &nbsp;&nbsp;&nbsp;&nbsp; 码 :
    		<input type="password" name="password" /><br/>
    		<input type="submit" value=" 登录 " />&nbsp;&nbsp;
    		<input type="reset" value=" 取消 " />
    	</form>
    </body>
    

    3.1.3 表单数据的提交方式

    表单的 method 属性用来定义处理程序从表单中获得信息的方式,它决定了表单中已收集的数据是用什么方法发送到服务器的。传送方式的值有两种选择,即 get post

    get 方式提交:使用 get 方式提交数据时,表单数据会附加在 URL 之后,由用户端直接发送至服务器,所以速度比 post 快,但缺点是数据长度不能太长。

    post 方式提交

    使用 post 时,表单数据是与 URL 分开发送的,客户端的计算机会通知服务器来读取数据,所以通常没有数据长度上的限制,缺点是速度比 get 慢。

    两种提交方式在使用上的主要区别:

    安全性。

    • 使用 get 方式提交时,提交的信息会出现在浏览器的地址栏中,post 方式提交时不会出现在地址栏中。在对安全性有要求的情况下,不建议使用 get 方式,而应该使用 post 方式。

    提交数据的长度

    • 使用 get 方式提交的数据有长度限制,使用 post 方式提交的数据没有长度限制,所以当使用表单提交的数据比较大时,如文件上传,建议使用 post 方式。

    3.2 输入框和按钮

    3.2.1 表单元素概述

    表单中大部分表单元素均使用 input 标签,只是它们的属性设置不同,其统一用法如下:

    语法:

    <input name=“表单元素名称” type=“类型” value=“值” size=“显示宽度”
    maxlength=“能输入的最大字符长度” checked=“是否选中”/>
    

    input标签属性

    属性

    说明

    type    

    指 定 表 单 元 素 的 类 型, 可 用 的 选 项 有 textpasswordcheckboxradiosubmitresetfilehiddenimage button,默认为 text

    name     

    指定表单元素的名称

    value      

    指定表单元素的初始值

    size        

    指定表单元素的初始宽度。如果 type text password,则表单元素的大小以字符为单位;对于其他输入类型,宽度以像素为单位

    maxlength

    指定可在 text password 元素中输入的最大字符串,默认无限制

    checked

    此属性只有一个值,为 checked,表示选中状态,如果不选中,则无须添加此属性

    readonly

    当文本框标签的 readonly 属性指定为 readonly 时,文本框中的值不允许更改

    HTML5 表单常用控件的标签

    表单控件标签写法

    说明

    <input type="text">

    单行文本输入框。使用的是 input 标签和 type 属性

    <input type="submit">

    将表单中的信息提交给表单中 action 属性所指向的地址

    <input type="checkbox"> 

    复选框

    <input type="radio">

    单选钮

    <input type="password">

    密码输入框(输入的文字用 * 表示)

    <select>

    下拉框

    <textArea>

    多行文本输入框

    3.2.2 输入框

    文本框:表单中最常用的输入元素就是文本框(text),它提供给用户输入的单行文本信息,如用户名的输入。文本框的用法很简单,只需将 input 标签的 type 属性设置为 text 即可。

    语法:

    <input name=“表单元素名称” type=“text”id=“表单元素名称” value=“值” />
    

    示例:

    <body>
           <form name="myform" action="" method="post">
    	姓 名 :
    	<input type="text" name="username" size="20" value="jack" />
    	<br/>
    	邮箱 :
    	<input type="text" name="username" value="xxx@xxx" />
    	<br/>
           </form>
    </body>
    

    密码框:密码框主要用于一些保密信息的输入,如密码。因为用户输入时,显示的不是输入的内容,而是“*”。

    语法:

    <input type=“password” id=“userPwd” name=“userPwd”/>
    

    示例:

    <body>
    	<form name="myform" action="" method="post">
    		姓名 :<input type="text" name="username" size="20"/><br/>
    		密码 :<input type="password" name="pwd"/><br/>
    	</form>
    </body>
    

    多行文本域:多行文本域用于显示或输入两行或两行以上的文本,它使用的标签是 textarea

    语法:

    <textarea name="指定名称" cols="列数" rows="行数">
    	文本域的内容
    </textarea>
    

    其中,cols 用于指定多行文本域的列数,rows 用于指定多行文本域的行数。在 <textarea>……<textarea> 标签中不能使用 value 属性来初始化文本域中的内容。

    示例:

    <body>
    	<form name="myform" action="" method="post">
    	<h4> 自我介绍 </h4>
    	<textarea cols="50" rows="5"> 请输入自我介绍的内容 .......</textarea>
    	</form>
    </body>
    

    3.2.3 按钮

    重置、提交与普通按钮

    根据按钮的功能,分为提交按钮、重置按钮和普通按钮

    • 提交按钮用于提交表单数据
    • 重置按钮用于清空现有表单数
    • 普通按钮通常用于调用 JavaScript 脚本

    用法上,为不同的按钮设置不同的 type 属性值即可;如果要禁用按钮,则使用 disabled 属性设置其取值为 disabled 即可。

    语法:

    <input type="submit" value="提交按钮的显示值" name="名称"/>
    <input type="reset" value="重置按钮的显示值" name="名称"/>
    <input type="button" value="普通按钮的显示值" name="名称"/>
    

    示例:

    <body>
    	<form name="myform" action=" method=""post">
    		姓名 :<input type="text" name="username" size="20" />
    		<br/>
    		<input type="submit" value="提交"/>
    		<input type="reset" value="重置"/>
    		<input type="button" value="购买"/>
    	</form>
    </body>
    

    图片按钮:有时候为了达到比较好的视觉效果,可以使用图片代替按钮来提交或者重置表单数据。

    语法:

    <input type="image" src ="logo.gif" alt = "提交" name="imgsubmit" />
    

    input标签的type="image"类似于type="submit",不同的是type="image"以一个图片作为表单的提交按钮,其中 src 属性表示图片的路径。

    示例:

    <body>
           <form>
    	输入商品编号:
    	<input type="text" name="yourname“/><br><br>
    	<input type="image" src="buy.gif" alt=" 提交 "  name="imagesubmit“ />
           </form>
    </body>
    

    3.3 单选按钮、复选框和下拉框

    3.3.1 单选按钮

    用于一组相互排斥的选项,组中的每个选项应具有相同的名称(name),以确保用户只能选择一个选项,单选按钮对应的 type 属性为 radio

    语法:

    <input type ="radio"  name="名称"  value ="" checked=" checked "/>
    

    checked 属性表示缺省已选的选项:<input type=“radio” name=“fruit” value = “Orange” checked> 桔子。桔子选项将默认为选中状态。

    示例:

    <body>
    	请选择你喜欢的水果:<br>
    	<form>
    		<input type="radio" name="fruit" value="Apple“ /> 苹果 <br>
    		<input type="radio" name="fruit" value="Orange“ /> 桔子 <br>
    		<input type="radio" name="fruit" value="Mango“ /> 芒果 <br>
    		<input type="submit" value=" 提交 ">
    	</form>
    </body>
    

    3.3.2 复选框

    复选框用于选择多个选项,将 input type 属性设置为 checkbox 就可以创建一个复选框。

    语法:

    <input type ="checkbox"  name="名称"  checked=" checked "/>
    

    checked 属性表示缺省已选的选项,写法是

    <input type="checkbox" name="fruit" value ="orange" checked>桔子。

    桔子选项将默认为选中状态。

    示例:

    <body>
          请选择你喜欢的水果:<br>
         <form>
    	<input type="checkbox" name="fruit" value="apple“ /> 苹果 <br>
    	<input type="checkbox" name="fruit" value="orange"> 桔子 <br>
    	<input type="checkbox" name="fruit" value="mango"> 芒果 <br>
    	<input type="submit" value=" 提交 ">
          </form>
    </body>
    

    3.3.3 下拉框

    下拉框主要可以使用户快速、方便、正确地选择一些选项,而且还能节省页面空间。它是通过 select option标签来实现,其中,在有多种选项可供用户滚动查看时,size 属性确定列表中可同时看到的行数;selected 属性表示该选项在默认情况下是被选中的。

    语法:

    <select name="指定列表的名称“ size="行数">
    	<option value="可选择的值" selected="selected"> 显示项的内容 </option>
    	<option value="可选择的值"> 显示项的内容 </option>
    	……
    </select>
    

    如果将下拉框变成多选,则添加 muiltiple 属性即可。

    示例:

    <body>
    	<form name="myform" action="" method="post">
    	生日 :
    	<input type="text" name="year" maxlength="4" /> 年
    	<select name="birth">
    		<option value="-1"> 选择月份 </option>
    		<option value="1"> 一月 </option>
    		<option value="2"> 二月 </option>
    		......
    	</select>
    	<input type="text" name="year" maxlength="2" /> 日 <br/> 省份 :
    	<select name="province">
    		<option value="0"> 选择省份 </option>
    		<option value="1" selected="selected"> 湖北 </option>
    		......
    	</select>
    	</form>
    </body>
    

    3.4 表单验证

    表单在提交之前应该执行输入验证,以检查用户输入内容是否符合要求。如验证用户是否输入、比较两次输入的内容是否相同、输入内容的长度是否过长等。表单只能在输入符合要求的情况下才能提交

    在 HTML5 中,通过对标签使用验证属性,可以实现在表单提交时执行自动验证的功能,并提示用户输入了错误的信息。

    3.4.1 必填验证

    required 属性可应用于大多数 input 标签上。在提交时,如果元素中的内容为空白,则不允许提交,同时在浏览器中显示信息提示文字,提示用户该元素中必须输入内容。

    语法:

    <input type=“text” name=“usr_name” required=“required” />
    

    示例:

    <body>
    	<form>
    		输入查询内容:<input type="text" required>
    		<input type="submit" value=" 提交 ">
    	</form>
    </body>
    

    3.4.2 类型匹配验证

    HTML5 中,增加了 input 标签的 type 属性值,可以使用这些 type 属性值实现基本的类型匹配功能。

    type 属性

    说明

    e-mail  

    在提交表单时,会自动验证值是否符合 e-mail 格式要求

    url   

    在提交表单时,会自动验证值是否符合 url 格式要求

    number      

    在提交表单时,会自动验证值是否为数字,并可以配合 minmax 以及 step 属性进行数值的限定

    range        

    在提交表单时,会自动验证值是否在指定的范围内的数字,使用配合 minmax 以及 step 属性进行数值的限定,显示为滑动条

    date

    用于选取年、月、日

    示例:

    <body>
    	<form>
    		Email:<input type="email"><br><br> Date:
    		<input type="date"><br><br>
    		<input type="submit">
    	</form>
    </body>
    

    3.4.3 控制字符数量

    在控制字符数量方面,我们可以使用 maxlength 属性设置输入字符的最大数量,以防止用户输入大量无效内容。

    示例:

    <body>
    	<form>
    		用户:<input type="text" maxlength="5“ />
    		<input type="submit">
    	</form>
    </body>
    

    3.4.4 验证输入范围

    minmax 属性是数值类型或日期类型的 input 标签的专用属性,它们限制了在 input 标签中输入的数值与日期的范围。

    示例:

    <form>
          Number:<input type="number" name="count" min="0" max="100" stop=”10”/>
         <br/>
         <input type="submit"/>
    </form>
    

    step属性控制input标签中的值增加或减少时的步长。本例中,输入的值不仅在0与100之间,还必须是10的倍数,因为step为10。

    3.4.5 自定义错误消息

    HTML5 表单验证给前端开发带来许多便利,但是默认的提示不友好。我们可以通过 setCustomValidity 方法来自定义提示信息,更准确的提示给用户。

    当用户输入信息时,使用 setCustomValidity(“”) 将错误提示设置为空字符串,当用户输入不合法时,使用setCustomValidity(“自定义提示信息”) 来替换提示信息即可。

    示例:

    <body>
    	<form>
    		年龄:
    		<input type="number" max="60" min="0" 
    		oninvalid="setCustomValidity(' 年龄必须在 0 至 60 之间! ')" 
    		oninput="setCustomValidity('')" 
    		required>
    		<input type="submit" />
    	</form>
    </body>
    

    总结:

    • 表单是 HTML5 的一个重要部分,主要用于采集和提交用户输入的信息。
    • 单数据提交的有两种方式:get 方式和 post 方式
    • 表单中大部分表单元素均使用 input 标签,只是它们的属性设置不同,用法统一
    • 文本输入控件包括文本框、密码框以及多行文本域
    • 选择型控件包括复选框、单选钮、下拉框和数据列表。
    • 按钮型控件包括提交按钮、图片按钮
    • HTML5 中,通过对标签使用验证属性,可以实现在表单提交时执行自动验证的功能,并提示用户输入了错误的信息。
    展开全文
  • 在软件设计中,表格单元格是HTML和网页构建中的关键组成部分,它是其中的一部分 成分。 编码人员可以为表格单元指定尺寸,并使用它们保存网页的各个部分。 网页上的Web表单,Web表单或HTML表单允许用户输入发送到...
  • 设计自动获取网页和提交表单组件

    千次阅读 2007-12-29 22:15:00
    导读: . 一次做列车时刻表时想到从网页上抓取数据,设计了这个类。 ///网页获取器 class HtmlGetter { public: HtmlGetter(); HtmlGetter::HtmlGetter(CString name) ;CString get_one_page... PsGrid表单设计开发
    导读: 
    
      . 一次做列车时刻表时想到从网页上抓取数据,设计了这个类。 ///网页获取器 class HtmlGetter { public: HtmlGetter(); HtmlGetter::HtmlGetter(CString name) ;CString get_one_page(std::string url); ~HtmlGetter(); ...
      PsGrid表单设计开发组件?PsGrid表单设计开发组件?PsGrid表单设计开发组件?这应该是js脚本的问题,我搜索了“回车 提交 表单”~~ ....求助:我在一个网页中输入表单,点提交后想返回上一个网页(已打开)并自动刷新里面的内容,该怎么样? ...
      文件格式:PDF/Adobe Acrobat
      本文要讨论的就是如果利用JavaScri~t来实现使用Enter键在表单组件间焦点移动。2 获取键盘控制事件JavaScrlpt是一种居于Java程序语言的脚本语言。JavaScript是用在居于Web的网页(包括客户端和服务器端)上的,这个文档里的内容只涉及了客户 ...
      Delphi实现网页表单数据的自动提交,Delphi技术库,网络大本营是一个专门发布编程资料,计算机相关技巧的大型网站,收集的资料 ...MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的 ...
      五行代码实现ASP无组件上传. Script 目前有很多无组件上传类,大多写的相当复杂,有的居然还只能传文本,最关键的是没有10行代码以下的。 ...Script 问题:网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却正常。 ...
      Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,加密,验证码,算法,cookies,ubb, ....form1.submit(); 自动提交表单到FORM里的ACTION即:User_Post_Blog2.asp 到这里已经做到了信息的获取! ...
      你就可以选中内容--》点右键出现“加入我的网摘”,这时就会弹出一个IE窗口,自动将网页标题加入表单的对应标题内容,及选中内容加入相应内容项, ...form1.submit(); 自动提交表单到FORM里的ACTION即:User_Post_Blog2.asp 到这里已经做到了信息的获取! ...
      文件格式:PDF/Adobe Acrobat - HTML 版
      您的浏览器可能无法阅读 PDF 文档。Epasser 建议您查看本文档的 纯文本版本。
      11.1.8 为访问者定制确认网页. 当访问者提交表单时,F r o n t P a g e会自动返回信息,确认他输入的内容。这是一个大致的确. 认;你可能喜欢给它增加一些装饰。还可以使用验证域组件来进行装饰,首先要创建一个确认. 网页,然后再在这个网页中使用这些组 ...
      引用链接
      ::::::本文的相关评价及说明信息::::::
      一次做列车时刻表时想到从网页上抓取数据,设计了这个类。
      ///网页获取器
      class HtmlGetter
      {
      public:
      HtmlGetter();
      HtmlGetter::HtmlGetter(CString name) ;
      CString get_one_page(std::string url);
      ~HtmlGetter();
      CString get_page_by_post(std::vector inputs, CString pre_url);
      CString get_page_by_get(std::vector inputs, CString pre_url);
      void get_file(std::string url, CString SaveToFile);
      CString get_last_header();
      void Close();
      private:
      CString LastHeader;
      CInternetSession session;
      };
      使用方法
      HtmlGetter htmlgetter;
      CString Page1=htmlgetter.get_one_page(http://163.com);
      //设置好网页form的inputs
      vector cmds;
      cmds.push_back("pawsoperator");//input name
      cmds.push_back("1");//input value
      ……
      //post,
      htmlgetter.get_page_by_post(cmds,"http://......");
      实现如下:
      #include "stdafx.h"
      #include "string"
      #include "vector"
      #include
      #include
      #include "./htmlgetter.h"
      using namespace std;
      //char HtmlGetter::SessSerial=0;
      //CString HtmlGetter::SessName;
      HtmlGetter::HtmlGetter() : session("session_")
      {
      }
      HtmlGetter::HtmlGetter(CString name) : session(name)
      {
      }
      HtmlGetter::~HtmlGetter()
      {
      session.Close();
      }
      void HtmlGetter::Close()
      {
      session.Close();
      }
      CString HtmlGetter::get_last_header()
      {
      return LastHeader;
      }
      ///获取网页
      CString HtmlGetter::get_one_page(std::string url)
      {
      CStdioFile* pFile = NULL;
      char szBuff[1024];
      CString Ret;
      try
      {
      pFile = session.OpenURL(url.c_str());
      }
      catch (CInternetException* )
      {
      logger->warn("OpenURL exception");
      return CString(/*"*/"OpenURL exception. ");/*I will retry " +
      GetConfString("general", "retry") +
      " times.


    PMKPkZ1AFf08CkMUPgvMuJiw");*/
      }
      //LPVOID headbuf=NULL;
      //DWORD len;
      CString header1;
      //((CHttpFile*)pFile)->QueryInfo(HTTP_QUERY_FLAG_REQUEST_HEADERS,headbuf,&len);
      if (((CHttpFile *) pFile)->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, header1) ==
      TRUE)
      {
      logger->debugStream() <<"http header:" <
      LastHeader = header1;
      //delete[]headbuf;
      }
      memset(szBuff, 0, sizeof(szBuff));
      UINT nRead = pFile->Read(szBuff, 1023);
      while (nRead >0)
      {
      Ret += (szBuff);
      memset(szBuff, 0, sizeof(szBuff));
      nRead = pFile->Read(szBuff, 1023);
      }
      delete pFile;
      return Ret;
      }
      /**下载文件
      @return 文件
      @author 张浩
      */
      void HtmlGetter::get_file(std::string url, CString SaveToFile)
      {
      //下载文件必须用二进制打开
      std::ofstream savefile(SaveToFile, ios::binary | ios::out);
      CStdioFile* pFile = NULL;
      char szBuff[1024];
      try
      {
      pFile = session.OpenURL(url.c_str());
      }
      catch (CInternetException* )
      {
      logger->warn("OpenURL exception");
      return ;//CString("OpenURL exception");
      }
      memset(szBuff, 0, sizeof(szBuff));
      UINT nRead = pFile->Read(szBuff, 1023);
      while (nRead >0)
      {
      //Ret += (szBuff);
      savefile.write(szBuff, nRead);
      memset(szBuff, 0, sizeof(szBuff));
      nRead = pFile->Read(szBuff, 1023);
      }
      delete pFile;
      //return Ret;
      }
      /**POST提交后返回页面
      @param inputs name value 对
      @param pre_url 提交至action页面
      @return 页面
      @author 张浩
      */
      CString HtmlGetter::get_page_by_post(std::vector inputs,
      CString pre_url)
      {
      //pre_url http://ffsfsdfdsfs:80/fsdfs/fsd.asp
      int pos = pre_url. Find('/'), pos2;
      pos2 = pos;
      if (pre_url.Find('/', pos + 1) == pos + 1)
      pos2 = pre_url.Find('/', pos + 2);
      CString server = (pos == pos2) ?
      (pre_url.Left(pos)) :
      (pre_url.Mid(pos + 2, pos2 - pos - 2));
      //server ffsfsdfdsfs:80
      CString actionform = pre_url.Mid(pos2);
      //actionform /fsdfs/fsd.asp
      CString Port = "80";
      if (server.Find(':') != -1)
      {
      Port = server.Mid(server.Find(':') + 1);
      server = server.Left(server.Find(':'));
      }
      INTERNET_PORT port = atoi(Port);
      logger->debugStream() <<"actionform " <
      CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");
      // URL-encoded form variables -
      // name = "John Doe", userid = "hithere", other = "P&Q"
      //url加密
      CString params;
      if ((inputs.size() % 2) != 0)//不是2的倍数,说明解析错?
      {
      logger->error("parse post inputs error ");//of <<"parse cmd error" <
      return CString("
      GetConfString("general", "retry") +
      " times.


    PMKPkZ1AFf08CkMUPgvMuJiw");*/
      }
      for (vector ::iterator i = inputs.begin();
      i != inputs.end();
      ++i,++i)
      {
      if (i != inputs.begin())
      params += '&';
      params += UrlEncode(i->GetBuffer(i->GetLength()));
      logger->debugStream() <<"UrlEncode param1:"
      < GetLength()) <<" to "
      < GetLength()));
      params += '=';
      vector ::iterator j = i;++j;
      params += UrlEncode(j->GetBuffer(j->GetLength()));
      logger->debugStream() <<"UrlEncode param2:"
      < GetLength()) <<" to "
      < GetLength()));
      }
      CString strFormData = params;//_T(params.GetBuffer(params.GetLength())/* "search_txt=xmlspy"*/);
      logger->debugStream() <<"strFormData: " <
      CString Ret;
      try
      {
      //CInternetSession session;
      CHttpConnection* pConnection = session.GetHttpConnection(server/*_T("ServerNameHere")*/,
      port);
      CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
      actionform/*_T("FormActionHere")*/);
      BOOL result = pFile->SendRequest(strHeaders,
      (LPVOID) (LPCTSTR) strFormData,
      strFormData.GetLength());
      char szBuff[1024];
      memset(szBuff, 0, sizeof(szBuff));
      UINT nRead = pFile->Read(szBuff, 1023);
      while (nRead >0)
      {
      Ret += (szBuff);
      memset(szBuff, 0, sizeof(szBuff));
      nRead = pFile->Read(szBuff, 1023);
      }
      delete pFile;
      }
      catch (CInternetException* )
      {
      logger->warn("get_page_by_post exception");
      return CString("get_page_by_post exception .");/* maybe url is not exist. I will retry " +
      GetConfString("general", "retry") +
      " times.


    PMKPkZ1AFf08CkMUPgvMuJiw");*/
      }
      return Ret;
      }
      /**get提交后返回页面
      方法:先将参数url编码,再调用get_one_page
      @param inputs name value 对
      @param pre_url 提交至action页面
      @return 页面
      @author 张浩
      */
      CString HtmlGetter::get_page_by_get(std::vector inputs,
      CString pre_url)
      {
      //url加密
      CString params;
      if ((inputs.size() % 2) != 0)//不是2的倍数,说明解析错?
      {
      logger->error("parse get inputs error ");//of <<"parse cmd error" <
      return CString("
      " times.


    PMKPkZ1AFf08CkMUPgvMuJiw");*/
      }
      for (vector ::iterator i = inputs.begin();
      i != inputs.end();
      ++i,++i)
      {
      if (i != inputs.begin())
      params += '&';
      params += UrlEncode(i->GetBuffer(i->GetLength()));
      logger->debugStream() <<"UrlEncode param1:"
      < GetLength()) <<" to "
      < GetLength()));
      params += '=';
      vector ::iterator j = i;++j;
      params += UrlEncode(j->GetBuffer(j->GetLength()));
      logger->debugStream() <<"UrlEncode param2:"
      < GetLength()) <<" to "
      < GetLength()));
      }
      std::string newurl = pre_url + "?" + params;
      logger->debugStream() <<"newurl: " <
      return this->get_one_page(newurl);
      }

    本文转自
    http://epasser.aydc.com.cn/article/adp/2/content16989.html
    展开全文
  • 熟练使用网页设计工具Frontpage、Dreamweaver MX,能够使用Dreamweaver MX设计网页的框架,导航条,设置文字,图片,超级链接,滚动文字,弹出窗口的属性,能够使用Dreamweaver MX设计出比较复杂的网页,建立小型...
  • 熟练使用网页设计工具Macromedia Dreamweaver 8,能够使用Macromedia Dreamweaver 8设计网页的框架,导航条,设置文字,图片,超级链接,滚动文字,弹出窗口的属性,能够使用Macromedia Dreamweaver 8设计出比较复杂...
  • 表单标题对齐

    2015-03-21 08:44:43
    网页表单标题尽量对齐,看起来就舒服些。 如果每个标题字数都一样,自然最好,但有时做不到,但也可以对齐的: 代码如下: tr> 2  td class="tdHead">传span style="color:#fff;">传真span>真...
  • 网页设计案例 马拉松宣传网页设计

    千次阅读 多人点赞 2020-02-02 23:02:59
    本篇博客介绍一个典型而有效的网页设计案例,这个案例用到了HTML,HTML5,CSS,CSS3,JavaScript。囊括了主页设计,联系方式页面设计, 旋转唱片音乐页面,图片库页面,幻灯片设计,表单页面等等,同时布局方法具有...
  • 使用PhotoShop或Firework设计页面,然后用ImageReady或Firework切割页面的图片后直接生成HTML网页,再把相应的内容填入网页中,最后加上各种JavaScript和表单效果完成网页的制作。而这一系列的工作全部由“网页美工...
  • Web表单设计:表单结构

    2011-09-08 20:16:04
    首先感谢Luke Wroblewski的帮助,让我有机会细心品味设计表单的乐趣。总体来说,Web表单主宰着结算、注册和数据输入。每天eBay、Taobao上的大量物品主要通过出售物品(Sell Your Item)表单售出;MySpace、Facebook...
  • 网页设计命名规范

    千次阅读 2017-06-06 23:14:09
    网页设计命名规范
  • 网站规划与网页设计ppt课件

    热门讨论 2011-04-09 19:07:57
    网站规划与网页设计(第2版)教材课件 作者: 张兵义 。 第1章 建站的准备工作 1.1 网络基础知识 1.1.1 Internet简介 1.1.2 TCP/IP简介 1.1.3 万维网WWW 1.2 浏览器-服务器模式 1.3 注册域名 1.3.1 如何选择好的域名...
  • 网页设计笔试题

    2019-02-26 15:39:15
    设计类笔选择题(共计20道题,5分/题) 1.TCP协议对应于OSl七层协议的哪一层 ( ) A.会话层 B.网络层 C.传输层 D....A.程序设计语言 B....4.当进行页面布局的时候能够使用的方法...8.对于表单标记,其中*代表 ( )试题
  • 网页设计\网页制作常用软件大全

    千次阅读 多人点赞 2014-03-04 12:08:26
    网页设计\网页制作常用软件 一、专业的网页设计、网页制作软件: 1、CorelDraw:通过CorelDRAW9的全方面的设计及网页功能融合到现有的设计方案中,制作矢量的插图、设计及图像,出色地设计公司标志、简报、彩页、...
  • 网页设计

    千次阅读 2013-06-24 18:51:00
    简介 建站目标 Web站点的设计是展现企业形象、介绍产品和服务、体现企业发展战略的重要途径,...网站制作设计和域名注册查询是根据它设定的目标在一个商业网站的情况下,网页设计的定义是根据它设定的目标:企业网...
  • HTML网页设计:二、网页的基本标签

    千次阅读 多人点赞 2021-03-19 17:59:58
    网页的基本标签 1.标题标签 基本标题标签:一级标题最大,依次越来越小。 <h1>一级标签</h1> <h2>二级标签</h2> <h3>三级标签</h3> <h4>四级标签</h4> <h5>...
  • 网页设计基础

    2016-01-23 14:24:20
    •分析网页的构成元素 •1.文本 2.图像 3.超链接 4.... •5.表单 6.Flash动画  ...·静态网页和动态网页 ...静态网页是指全部由HTML代码格式...静态网页的内容是固定不变的,如果需要更新内容,必须重新进行设计
  • 静态网页设计——春节

    千次阅读 2021-02-12 12:36:07
    作品汇报 新的一年新的成就,经历...首页运用表单和超链接,能够突出该页面的作用,表单运用border-radius属性,使页面更美观 春节简介和起源 禁烟令的实施和疫情的爆发,让中国春节减少了许多的年味,大部分人都快遗
  • 简单网页设计之表格

    千次阅读 2017-04-17 17:31:50
    范例1:课程表设计标题文档 课程表 星期一 星期二 星期三 星期四 星期五 上午 1 英语 语文 数学 体育
  • 网页的简单布局 HTML页面结构分析如下表: 元素名 描述 header 标题头部区域的内容(用于页面或页面中的一块区域) footer 标记脚部区域的内容(用于整个页面或页面的一块区域) section Web页面中的一...
  • 在DW中制作网页中的表单

    千次阅读 2020-03-25 23:11:01
    表单 可以把用户的信息提交给服务器,是网站管理员与浏览者沟通的桥梁。利用表单处理程序可以收集、分析用户的反馈意见,做出科学的、合理的决策。 表单有两个重要的组成部分: 描述表单的HTML源代码; 用于处理...
  • HTML期末网页设计——设计报告

    千次阅读 多人点赞 2020-06-22 23:36:49
    本次期末作品题为《香氛密语》的网页设计,围绕“香水”这一主题, 意在科普香水的知识和宣传这一“美”的事物。 首先,作为女生,彩妆、穿搭、美容等在生活中占据着重要的分量,而 香氛在我的世界中作为一种偏爱而...
  • 06网页前端HTML——Form表单属性

    千次阅读 2018-07-31 17:01:34
    表单是HTML中重要的组成部分,是网页提供的一种交互式操作手段,主要用于采集和提交用户的输入信息。 二: 属性 说明 name 表单名称 method 表单发送方式 action 表单处理程序提交地址 ...
  • HTML网页设计:七、表格

    千次阅读 2021-03-24 21:44:24
    表格 1.表格的定义         ...标签定义),每行被分割为若干单元格(由<...标签定义),表格标题...数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。 其定
  • 注:标题有点长,原来打算说是表单的在线修改,但很容易理解成表单数据的修改,所以说是在线重新设计表单了。    最近在跟朋友一起讨论工作流系统中自定义表单的问题,这些表单用于流程节点的数据处理,比如在...
  • 网页设计基础——网页布局结构

    千次阅读 2018-07-27 14:56:30
    作为网页设计初学者,掌握几个页面布局结构将会让网页变得更加美观,并且大大提升设计效率。 一、 国子型(大型网站常用类型) 如图所示,我们可以看出,国子型页面结构主要分为五个部分。 头部: 该部分包括...
  • html网页设计

    千次阅读 2018-01-28 00:41:54
    1 网页介绍 静态网页与动态网页: 静态网页:我们写好的html内容在浏览器中显示出来的效果始终都一样,不管进行多少次访问,如果想内容改变必须修改源代码。 动态网页:页面的内容是由服务器端程序控制输出,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,257
精华内容 8,902
关键字:

网页设计表单标题是