Web前端学习笔记(3)-html5新增表单元素

Web前端学习笔记(3)-html5新增表单元素

标签(空格分隔): primer web 前端


1.表单新增元素与属性

1)标签的control属性

  在HTML5中,可与在标签内部防止一个表单元素,并且通过该标签的`control`属性来访问表单元素。
<body>
    <script>
        function setValue(){
            var label = document.getElementById("label");
            var textbox = label.control;
            textbox.value = "010010";
        }
    </script>
    <form>
        <label id="label">
            邮编:
            <input id="txt_zip" maxlength="6">
            <small>请输入六位数字</small>
        </label>
        <input type="button" value="设置默认值" onclick="setValue()">
    </form>
</body>

2)表单内元素的formaction属性

可以通过此属性为表单所有提交按钮设置不同的属性(在按钮标签中设置)以将表单提交到不同页面。(action在form中设置指定唯一目标)

/< form id="test" action="xx.jsp">/

<body>
    <form id="testform">
        <input type="submit" name="1" value="1" formaction="xx1.jsp">提交到1</input>
        <input type="submit" name="1" value="1" formaction="xx2.jsp">提交到2</input>
    </form>
</body>

3)表单内元素的formmethod属性

对每一个表单元素分别指定不同的提交方法。(GET/POST)
<body>
    <form id="testform" action="xx.jsp">
        <input type="submit" name="1" value="1" formmethod="post">提交到1</input>
        <input type="submit" name="1" value="1" formmethod="get">提交到2</input>
    </form>
</body>

4)表单内元素formenctype属性

表单具有一个enctype属性,用于指定在表单发到服务器之前应该如何对表单内的数据进行编码。html5中可以使用formenctype属性对表单元素分别指定不同的编码方式。
<body>
    <form>
        <input type="text" formenctype="text/plain">
        <input type="text" formenctype="multipart/form-data">
        <input type="text" formenctype="application/x-www-form-urlencoded">
    </form>
</body>

5)表单内元素的formtarget属性

对多个按钮分别指定提交后在何处打开所需加载的页面。

target/formtarget=

  • _blank:在新的浏览器页面打开
  • _self:在相同的框架(frame)中打开
  • _parent:在父框架中打开(与_self效果相似都依赖于frame)
  • _top:在当前窗口中打开。(默认)
  • framename:在指定框架中打开

6)表单内元素的labels属性

在html5中,为所有可使用标签的表单元素、button、select元素等,定义一个labels属性,属性值为一个NodeList对象,代表该元素所绑定的标签元素所构成的集合。
<body>
    <script>
        function Validate(){
            var txtName = document.getElementById("txt_name");
            var button = document.getElementById("btnValidate");
            var form = document.getElementById("testform");
            if(txtName.value.trim() == ""){
                var label = document.createElement("label");
                label.setAttribute("for", "txt_name");
                form.insertBefore(label, button);
                txtName.labels[1].innerHTML = "input name";
            }
        }
    </script>

    <form id="testform">
        <label type="label" for="txt_name">name:</label>
        <input id="txt_name">
        <input type="button" id="btnValidate" value="check" onclick="Validate()">
    </form>
</body>

7)表单内元素的form属性

在html5中表单内的从属元素可以书写在页面的任何地方,只要为该元素指定一个form属性,值为表单的id,即可声明从属。
<body>
    <form id="testform">
        <input type="text">
    </form>
    <textarea form="textform"></textarea>
</body>

8)表单image提交按钮的height属性与width属性

来指定图片形式提交按钮的宽高

2.文本框属性

1)文本框的list属性

在html5中,为单行文本框增加了一个list属性,该属性的值为某个datalist元素的id。datalist元素也是html5中新增的元素,该元素类似于选择框,但是当用户想要设定的值不在选择列表之内时,允许自行输入。datalist元素默认本身并不显示,而是当文本框获得焦点时以提示输入的方式显示。
解释
有关联datalist的list的输入框有一个下拉菜单,中的内容为datalist中的内容,可以输入,也可以选择。
<form>
    <input type="text" name="greeting" list="greetings">
    <datalist id="greetings" style="display:none"> /*写明隐藏*/
        <option value="html">html</option>
        <option value="ios">ios</option>
    </datalist>
</form>

2)文本框的autocomplete属性

帮助输入所用的自动完成功能,使用`autocomplete`属性后之前由输入值可见造成的安全性问题得到很好的控制。

3)文本框的pattern正则表达式属性

将input的属性值设为某个格式的正则表达式,在提交时会针对这些进行检查,检查其内容是否符合给定格式。当不符合格式时,则不允许提交,同时在浏览器中显示信息提示文字,提示输入的内容必须符合给定格式。
<form>
    请输入内容
    <input pattern="[A-Z]{3}" name="part"> /*只允许输入3个大写字母*/
    <input type="submit">
</form>

4)文本框selectionDirection属性

在input和textarea元素中用鼠标选取部分文字时,可以使用该属性来获取选取文字方向。正/没有选取任何文字:forward,反:backward。
<body>
    <script>
        function AD(){
            var control = document.forms[0]['text'];
            var Derection = control.selectionDirection;
        }
    </script>
    <form>
        <input type="text" name="text">
        <input type="button" value="点击我" onclick="AD()">
    </form>
</body>
/*捕捉用户的文本选择信心*/

5)文本框的placeholder属性

`placeholder`是指当文本狂处于问输入状态时显示的输入提示。当文本框处于未输入状态且未获取光标焦点时,模糊显示输入提示文字。
<input type="text" placeholder="请输入用户名">

6)文本框autofocus属性

为文本框或按钮加上autofocus属性,当页面打开时,该输入框控件自动获得光标焦点。

7)文本框required属性

可以应用到大多数输入元素上,在提交时,如果元素中内容为空白,则不允许提交,同时在浏览器中显示信息提示文字(浏览器固定的提示内容)。

8)复选框的indeterminate属性

对于复选框checkbox来说,过去只是选取与非选取的两种状态。在html5中,可以在js脚本中对该元素使用indeterminate属性来说明复选框处于“尚未明确是否选取”状态。
XXX.indeterminate = true;

作者:Skyeyes
2016.3.7
根据极客学院前端工程师课程整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值