zoukankan      html  css  js  c++  java
  • python-form表单

    form表单

    form属于块级标签

    功能:

    表单用于向服务器传输数据,从而实现用户与web服务器的交互

    表单能够包含input系列标签,比如文本字段。复选框。单选框。提交按钮等等

    表单还可以包含textarea select fieldset labl标签

    表单属性:

    属性 描述
    accept-charset 规定在提交表单时使用的字符集(默认:页面字符集)
    action 规定向何处提交表单的地址 URL(提交页面)
    autocomplete 规定浏览器应该自动完成表单(默认:开启)
    enctype 规定被提及的数据的编码(默认:url-encoded)
    methon 规定提交表单时所用的方法(默认:get)
    name 规定识别表单的名称(对于DOM 使用:document.forms.name)
    novalidate 规定浏览器不验证表单
    target 规定action属性中地址的目标(默认:_self)

    表单元素:

    基本概念:

            html表单是html里比较复杂的部分,表单往往和脚本 动态页面 数据处理等功能结合 因此他是制作动态网站很重要的内容

            表单一般手机用户的输入信息

    表单工作原理:

            访问者在浏览表单网页时,可填写必须的信息,然后按某个按钮提交。这些信息通过internet传送的服务端

            服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当服务器完整无误后,服务器会反馈一个输入完成的信息

    属性

    • name:表单的名称,用于js来操作控制表单时使用;
    • id:表单的名称,用于js来操作控制表单时使用;
    • action:指定表单的处理程序,一般时php,如action="login.php"
    • method:表单的提交方式,一般取值get(默认)和post

    action属性就是表示,表单提交到哪里

    method属性就是表示用什么方法提交,如:post get

    get和post的区别:

    GET方式:

    将表单数据,以"name=value"形式追加到action指定的处理程序的后面,两者间用"?"隔开,每一个表单的"name=value"间用"&"号隔开。
    特点:只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型只限于ASCII字符。

    POST方式:
    将表单数据直接发送(隐藏)到action指定的处理程序。POST发送的数据不可见。Action指定的处理程序可以获取到表单数据。
    特点:可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)。

    Enctype:
    表单数据的编码方式(加密方式),取值可以是:application/x-www-form-urlencoded、multipart/form-data。Enctype只能在POST方式下使用。

    • Application/x-www-form-urlencoded:默认加密方式,除了上传文件之外的数据都可以
    • Multipart/form-data:上传附件时,必须使用这种编码方式.

    input 输入标签(文本框)(内联标签)

    type属性值 表现形式 对应代码
    text 单行输入文本 input type=text" /
    password 密码输入框(不显示明文) input type="password" /
    date 日期输入框 input type="date" /
    checkbox 复选框 input type="checkbox" checked="checked" name='x' /
    radio 单选框 input type="radio" name='x' /
    submit 提交按钮 input type="submit" value="提交" / #发送浏览器上输入标签中的内容,配合form表单使用,页面会刷新
    reset 重置按钮 input type="reset" value="重置" #页面不会刷新,将所有输入的内容清空
    button 普通按钮 input type="button" value="普通按钮" /
    hidden 隐藏输入框 input type="hidden" /
    file 文本选择框 input type="file" /(等学了form表单之后再学这个)

    用于接收用户输入。

    <input type="text" />
    
    用户名 : <input type="text" name = 'username' value = 'alex' readonly>
    密  码 : <input type="password" name = 'passwd'>
    <input type="radio" name = 'sex' value="m" checked> 男
    <input type="radio" name = 'sex' value="f"> 女
    <input type="checkbox" name = 'hobby' value="1" checked disabled> 抽烟
    <input type="checkbox" name = 'hobby' value="2"> 喝酒
    <input type="checkbox" name = 'hobby' value="3"> 烫头
    <input type="submit">
    

    属性

    • type="属性值":文本类型。属性值可以是:
    • text(默认)
      • password:密码类型
    • radio:单选按钮,名字相同的按钮作为一组进行单选(单选按钮,天生是不能互斥的,如果想互斥,必须要有相同的name属性。name就是“名字”。
      )。非常像以前的收音机,按下去一个按钮,其他的就抬起来了。所以叫做radio。
      • checkbox:多选按钮,名字相同的按钮作为一组进行选择。
      • checked:将单选按钮或多选按钮默认处于选中状态。当``标签的type="radio"时,可以用这个属性。属性值也是checked,可以省略。
      • hidden:隐藏框,在表单中包含不希望用户看见的信息
      • button:普通按钮,结合js代码进行使用。
      • submit:提交按钮,传送当前表单的数据给服务器或其他程序处理。这个按钮不需要写value自动就会有“提交”文字。这个按钮真的有提交功能。点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。
      • reset:重置按钮,清空当前表单的内容,并设置为最初的默认值
      • image:图片按钮,和提交按钮的功能完全一致,只不过图片按钮可以显示图片。
      • file:文件选择框。
        提示:如果要限制上传文件的类型,需要配合JS来实现验证。对上传文件的安全检查:一是扩展名的检查,二是文件数据内容的检查。
    • value="内容":文本框里的默认内容(已经被填好了的)
    • size="50":表示文本框内可以显示五十个字符。一个英文或一个中文都算一个字符。
      注意size属性值的单位不是像素哦
    • readonly:文本框只读,不能编辑。因为它的属性值也是readonly,所以属性值可以不写。
      用了这个属性之后,在google浏览器中,光标点不进去;在IE浏览器中,光标可以点进去,但是文字不能编辑。
    • disabled:文本框只读,不能编辑,光标点不进去。属性值可以不写。
    • name : 提交数据之后以name属性为依据
    • placeholder : 给text或者password框添加提示,当输入框获取到焦点时提示自动消失

    示例:

     <form>
            姓名:<input value="呵呵" >逗比<br>
            昵称:<input value="哈哈" readonly=""><br>
            名字:<input type="text" value="name" disabled=""><br>
            密码:<input type="password" value="pwd" size="50"><br>
            性别:<input type="radio" name="gender" value="male" checked="">男 
                  <input type="radio" name="gender" value="female" >女<br>
            爱好:<input type="checkbox" name="love" value="eat">吃饭
                  <input type="checkbox" name="love" value="sleep">睡觉
                  <input type="checkbox" name="love" value="bat">打豆豆
        </form>
    

    4种按钮的举例:

    <form>
            <input type="button" value="普通按钮"><br>
            <input type="submit"  value="提交按钮"><br>
            <input type="reset" value="重置按钮"><br>
            <input type="image" src="images/bojie.jpeg" width="400" value="图片按钮2"><br>
            <input type="file" value="文件选择框">
    </form>
    

    select:下拉列表标签(内联标签)

    select标签的属性

    • multiple:可以对下拉列表中的选项进行多选。没有属性值。
    • size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。

    option标签的属性

    • selected:预选中。没有属性值。

    示例:

     <form>    
            <select>
                <option>小学</option>
                <option>初中</option>
                <option>高中</option>
                <option>大学</option>
                <option selected="">研究生</option>
            </select>
            <br><br><br>
    
            <select size="3">
                <option>小学</option>
                <option>初中</option>
                <option>高中</option>
                <option>大学</option>
                <option>研究生</option>
            </select>
            <br><br><br>
    
            <select multiple="">
                <option>小学</option>
                <option>初中</option>
                <option selected="">高中</option>
                <option selected="">大学</option>
                <option>研究生</option>
            </select>
            <br><br><br>
        </form>    
    
    <!--
             <select name="city" size="3" multiple>
                <option value="1">北京</option>
                <option value="2" selected>上海</option>
                <option value="3">天津</option>
                <option value="4">广州</option>
            </select>
    -->
    

    textarea标签:多行文本输入框(内联标签)

    text就是“文本”,area就是“区域”。

    属性

    • value:提交给服务器的值。
    • rows="4":指定文本区域的行数。 表示的是文本域的高度
    • cols="20":指定文本区域的列数。 表示的是文本域的宽度
    • readonly:只读。
    • name:提交数据之后以name属性为依据

    示例代码

    <form>
            <textarea name="txtInfo" rows="4" cols="20">路飞学城</textarea>
         	<textarea name="content" id="" cols="30" rows="10"></textarea>
    </form>
    

    表单的语义化

    比如,我们在注册一个网站的信息的时候,有一部分是必填信息,有一部分是选填信息,这个时候可以利用表单的语义化。

    <form>
    
            <fieldset>
            <legend>账号信息</legend>
            姓名:<input value="呵呵" >逗比<br>
            密码:<input type="password" value="pwd" size="50"><br>
            </fieldset>
    
            <fieldset>
            <legend>其他信息</legend>
            性别:<input type="radio" name="gender" value="male" checked="">男 
                  <input type="radio" name="gender" value="female" >女<br>
            爱好:<input type="checkbox" name="love" value="eat">吃饭
                  <input type="checkbox" name="love" value="sleep">睡觉
                  <input type="checkbox" name="love" value="bat">打豆豆
            </fieldset>
    
    </form>
    

    label标签(内联标签)

    我们先来看下面一段代码:

    <input type="radio" name="sex" /> 男
    <input type="radio" name="sex" /> 女
    

    lable 的 for关联一个输入款的id,如果点击lable中的文字,这个输入框会自动获取到焦点

    对于上面这样的单选框,我们只有点击那个单选框(小圆圈)才可以选中,点击“男”、“女”这两个文字时是无法选中的;于是,label标签派上了用场。

    本质上来讲,“男”、“女”这两个文字和input标签时没有关系的,而label就是解决这个问题的。我们可以通过label把input和汉字包裹起来作为整体。

    解决方法如下:

    <input type="radio" name="sex" id="nan" /> <label for="nan">男</label>
    <input type="radio" name="sex" id="nv"  /> <label for="nv">女</label>
    

    上方代码中,input元素要有一个id,然后label标签有一个for属性,和id相同,那么这个label和input就有绑定关系了。

    当然了,复选框也有label:(任何表单元素都有label)

    <input type="checkbox" id="kk" />
    <label for="kk">10天内免登陆</label>  
    

    button标签

    提交按钮:form表单内部使用相当于提交,外部使用只普通按钮

    在form表单内部外部都可以使用
    在内部表示提交
    在外部只普通按钮

    <button>submit按钮</button>
    

    form表单示例:

    <form action="http://127.0.0.1:9000">
        <!--用户名 : <input type="text" name="username" placeholder="请输入手机号或邮箱进行登录">-->
        <div>
            <label for="user">用户名 :</label>
             <input id="user" type="text" name = 'username' value = 'alex'></div>
        <div> 密  码 : <input type="password" name = 'passwd'  readonly></div>
        <div>性别 :
            <input type="radio" name = 'sex' value="m" checked> 男
            <input type="radio" name = 'sex' value="f"> 女
        </div>
        <div>
            <input type="checkbox" name = 'hobby' value="1" checked disabled> 抽烟
            <input type="checkbox" name = 'hobby' value="2"> 喝酒
            <input type="checkbox" name = 'hobby' value="3"> 烫头
        </div>
        <input type="submit">
        <input type="button" value="按钮">
        <input type="reset">
        <input type="hidden">
        <input type="file">
        <input type="date">
        <button>submit按钮</button>
        <textarea name="content" cols="30" rows="10"></textarea>
    
        <select name="" size="3" multiple>
            <option value="">北京</option>
            <option value="" selected>上海</option>
            <option value="">天津</option>
            <option value="">广州</option>
        </select>
    </form>
    
  • 相关阅读:
    Qt Installer Framework翻译(3-4)
    Qt Installer Framework翻译(3-3)
    Qt Installer Framework翻译(3-2)
    Qt Installer Framework翻译(3-1)
    Qt Installer Framework翻译(3-0)
    Qt Installer Framework翻译(0)
    Qt Installer Framework翻译(2)
    Qt Installer Framework翻译(1)
    野生前端的数据结构基础练习(8)——图
    野生前端的数据结构基础练习(7)——二叉树
  • 原文地址:https://www.cnblogs.com/Anesthesia-is/p/11977390.html
Copyright © 2011-2022 走看看