zoukankan      html  css  js  c++  java
  • 廖雪峰js教程学习——操作表单

    # 廖雪峰js教程学习记录——操作表单 #

    用JavaScript操作表单和操作DOM是类似的,因为表单本身也是DOM树。

    用JavaScript来操作表单,可以获得用户输入的内容,或者对一个输入框设置新的内容。


    HTML表单的输入控件主要有以下几种:

    - 文本框,对应的`<input type="text">`,用于输入文本;
    - 口令框,对应的`<input type="password">`,用于输入口令;
    - 单选框,对应的`<input type="radio">`,用于选择一项;
    - 复选框,对应的`<input type="checkbox">`,用于选择多项;
    - 下拉框,对应的`<select>`,用于选择一项;
    - 隐藏文本,对应的`<input type="hidden">`,用户不可见,但表单提交时会把隐藏文本发送到服务器。


    ## 获取值 ##

    对于`text`、`password`、`select`、`hidden`这四种来说:

    可以通过先获取一个`<input>`节点的引用,再直接调用`value`获得对应的用户输入值。如:

        // <input type="text" id="email">
        var input = document.getElementById('email');
        input.value; // '用户输入的值'

    但是,**对于单选框和复选框,`value`属性返回的永远是HTML预设的值**,而我们需要获得的实际是用户是否“勾上了”选项,所以应该用`checked`判断.

    ## 设置值 ##

    对于`text`、`password`、`select`、`hidden`来说直接直接设置value就可以:

        // <input type="text" id="email">
        var input = document.getElementById('email');
        input.value = 'test@example.com'; // 文本框的内容已更新

    对于单选框和复选框,设置`checked`为true或false即可。

    ## HTML5控件 ##

    HTML5新增了大量标准控件,常用的包括`date`、`datetime`、`datetime-local`、`color`等,它们都使用`<input>`标签。例如:
        
        <input type="datetime-local" value="2015-07-01  02:03:04">

    <input type="datetime-local" value="2015-07-01  02:03:04">


    不支持HTML5的浏览器无法识别新的控件,会把它们当做type="text"来显示。

    支持HTML5的浏览器将**获得格式化的字符串**。例如,`type="date"`类型的`input`的`value`将保证是一个有效的`YYYY-MM-DD`格式的日期,或者空字符串。

    ## 提交表单 ##

    JavaScript可以以两种方式来处理表单的提交(AJAX方式在后面章节介绍)。

    方式一是通过`<form>`元素的`submit()`方法提交一个表单。例如:


        // <label><input type="radio" name="weekday" id="monday" value="1"> Monday</label>
        // <label><input type="radio" name="weekday" id="tuesday" value="2"> Tuesday</label>
        var mon = document.getElementById('monday');
        var tue = document.getElementById('tuesday');
        mon.value; // '1'
        tue.value; // '2'
        mon.checked; // true或者false
        tue.checked; // true或者false

  • 相关阅读:
    HDU1879 kruscal 继续畅通工程
    poj1094 拓扑 Sorting It All Out
    (转)搞ACM的你伤不起
    (转)女生应该找一个玩ACM的男生
    poj3259 bellman——ford Wormholes解绝负权问题
    poj2253 最短路 floyd Frogger
    Leetcode 42. Trapping Rain Water
    Leetcode 41. First Missing Positive
    Leetcode 4. Median of Two Sorted Arrays(二分)
    Codeforces:Good Bye 2018(题解)
  • 原文地址:https://www.cnblogs.com/shiliu123456/p/5766141.html
Copyright © 2011-2022 走看看