javascript表单控件实例讲解


Posted in Javascript onSeptember 13, 2016

本文实例为大家分享js表单控件多个实例讲解,供大家参考,具体内容如下

实例一:遍历表单的所有控件

<script type="text/javascript">
  //遍历表单的所有控件
  function getValues(){
    var f = document.forms[0];     //获取表单DOM
    var elements = f.elements;   //获取所有的控件数组
    var str = '';            //拼接字符串
    //循环遍历
    for(var i=0; i<elements.length; i++){
      var e = elements[i];      //当前的控件
      str += e.value;       //拼接控件的值
      str += '\n';          //拼接分隔符
    }
    alert(str);           //用提示框展示结果
  }
</script>


<form>     
      文本框:
      <input type="text" name="myText"/>
      <br/>
      单选框:
      <input type="radio" name="myRadio"value="1"/>1
      <input type="radio" name="myRadio" value="2"/>2
      <br/>
      下拉列表:
      <select name="mySelect">
        <option value="">==请选择==</option>
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
      <br/>
      <input type="button" value="得到所有控件的值" onclick="getValues()"/>
</form>

实例二:通过控件名访问特定的控件

<script type="text/javascript">
  //通过控件名访问特定的控件
  function getFormDom(){
    var f = document.forms[0];     //获取表单DOM
    var myText = f.myText;     //通过名字获取控件DOM
    //提示控件的name和value
    alert(myText.name + " : " + myText.value);
  }
</script>


<form>     
      文本框:
      <input type="text" name="myText"/>
      <br/>
      <input type="button" value="获取控件" onclick="getFormDom()"/>
</form>

实例三:获取表单内文本框的个数

<script type="text/javascript">
  //获取表单内文本框的个数
  function getInputCount(){
    var f = document.forms[0];     //获取表单DOM
    var elements = f.elements;   //获取所有的控件数组
    var count = 0;         //统计总数
    //循环遍历
    for(var i=0; i<elements.length; i++){
      //当前的控件
      var e = elements[i];      
      //是否为文本框
      if(e.tagName == 'INPUT' && e.type == 'text'){  
        count++;        //总数自加
      }
    }
    //用提示框展示结果
    alert("文本框一共有:" + count + "个"); 
  }
</script>

实例四:修改表单的提交方法

method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST),使用 GET 时,表单数据在页面地址栏中是可见的,POST 的安全性更加,因为在页面地址栏中被提交的数据是不可见的。

<script type="text/javascript">
      //修改表单的提交方法
      function modifyMethod(){
        var f = document.forms[0];     //获取表单DOM
        var method = f.myMethod.value; //选择的方法
        f.method = method;       //修改选择的提交方法
        //用提示框展示结果
        alert("表单当前的提交方法:" + method);
      }
    </script>


<form method="post">
      请选择提交方法:
      <select name="myMethod">
        <option value="">==请选择==</option>
        <option value="get">get</option>
        <option value="post">post</option>
      </select>
      <br/>
      <input type="button" value="修改提交方法" onclick="modifyMethod()"/>
    </form>

实例五:动态指定表单的动作属性

action 属性定义在提交表单时执行的动作。
向服务器提交表单的通常做法是使用提交按钮。
通常,表单会被提交到 web 服务器上的网页。
如果省略 action 属性,则 action 会被设置为当前页面。

<script type="text/javascript">
      //动态指定表单的动作属性
      function modifyAction(){
        var f = document.forms[0];   //获取表单DOM
        var newURL = f.newURL.value;  //选择的方法
        f.action = newURL;     //修改提交表单的action地址
        //用提示框展示结果
        alert("表单当前的动作:" + f.action);
      }
    </script>


<form method="post">      
      请选择提交方法:
      <input type="text" name="newURL"/>
      <br/>
      <input type="button" value="修改提交Action" onclick="modifyAction()"/>
    </form>

实例六:动态选择聚焦的控件

<script type="text/javascript">
      //第一个单选框为焦点
      function focusIt(){
        var f = document.forms[0];   //获取表单DOM
        var myRadio = f.myRadio;    //获取单选框
        myRadio[0].focus();     //第一个单选框获得焦点
      }
</script>


<form>     
      文本框:
      <input type="text" name="myText"/>
      <br/>
      单选框:
      <input type="radio" name="myRadio" value="1"/>
      <input type="radio" name="myRadio" value="2"/>
      <br/>
      下拉列表:
      <select name="mySelect">
        <option value="">==请选择==</option>
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
      <br/>
      <input type="button" value="第一个单选框为焦点" onclick="focusIt()"/>
    </form>

实例七:初始化表单里的所有控件的值到最初状态

<script type="text/javascript">
      //初始化表单里的所有控件的值到最初状态
      function init(){
        var f = document.forms[0];   //获取表单DOM
        f.reset();         //使用reset()函数
      }
</script>

实例八:批量为所有的表单控件加一个说明

<script type="text/javascript">
  //批量为所有的表单控件加一个说明
  function batchComment(){
    var f = document.forms[0];     //获取表单DOM
    var children = f.childNodes;    //获取表单的所有子元素
    var newArr = [];          //定义新的元素数组
    var j = 0;           //为新元素数组定义下标
    //循环遍历子元素
    for(var i=0; i<children.length; i++){
      var e = children[i];      //当前子元素
      newArr[j++] = e;      //添加到新数组里
      //判断是否为控件
      if(e.tagName == 'INPUT' || e.tagName == 'SELECT'){
        //添加一个文字说明的节点
        var text = document.createTextNode(" 此项必填");
        newArr[j++] = text;   //为新数组加入节点
      }
    }
    //清空现有的表单内容
    f.innerHTML = '';        
    //批量加上说明
    for(var i=0; i<newArr.length; i++){
      //把老的元素和说明节点加入form
      f.appendChild(newArr[i]);    
    }
  }
</script>

实例九:使用隐藏控件为表单添加参数

<script type="text/javascript">   
      //展示表单参数的函数
      function showParams(){
        //设置隐藏变量的值,这个值也可以通过标签的value指定
        document.forms[0].myhidden.value = '我是隐藏的';
        //定义字符拼接变量
        var str = '表单将提交的参数包括:';
        //拼接年份参数
        str += '\n年份:' + document.forms[0].myyear.value;
        //拼接姓名参数
        str += '\n姓名:' + document.forms[0].myname.value;
        //拼接隐藏参数
        str += '\n隐藏变量:' + document.forms[0].myhidden.value;
        alert(str);     //展示字符的值
      }
    </script>  


<form>     
      <input type="hidden" name="myhidden"/>
      年份:
      <select name="myyear">
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
      </select>
      <br/><br/>
      姓名:<input type="text" name="myname"/>
      <br/><br/>
      <input type="button" value="提交" onclick="showParams();"/>
    </form>

实例十:全部勾选所有复选框

<script type="text/javascript">   
      //勾选所有的函数
      function checkAll(c){
        //获取所有的复选框
        var arr = document.getElementsByName('myname');
        if(c){   //是否全选
          //遍历所有的复选框
          for(var i=0;i<arr.length;i++){
            arr[i].checked = true;//选中
          }
        }else{   //否则,全不选
          //遍历所有的复选框
          for(var i=0;i<arr.length;i++){
            arr[i].checked = false;//不选中
          }
        }
      }
</script>  


<form>     
      你的兴趣:<br>
      <input type="checkbox" name="myall" onclick="checkAll(this.checked)"/>全选<br>
      <input type="checkbox" name="myname" />全选
      <input type="checkbox" name="myname" />全选
      <input type="checkbox" name="myname" />全选
</form>

实例十一:为表单的聚焦控件设置醒目的样式

<script type="text/javascript">   
      function init(){
        var f = document.forms[0];   //获取表单DOM
        var elements = f.elements;   //获取所有的控件数组
        var str = '';          //拼接字符串
        //循环遍历
        for(var i=0; i<elements.length; i++){
          var e = elements[i];    //当前的控件
          e.onfocus = function(){   //定义聚焦的样式回调
            //修改边框为红色
            this.style.border = '1px solid red'; 
          }
          e.onblur = function(){   //失去焦点的回调
            this.style.border = ''; //恢复原有边框样式
          }
        }
      }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的一个简单的脚本验证插件
Apr 05 Javascript
JavaScript 构造函数 面相对象学习必备知识
Jun 09 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
JS在IE下缺少标识符的错误
Jul 23 Javascript
jQuery鼠标事件汇总
Aug 30 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
Jun 14 Javascript
基于js实现二级下拉联动
Dec 17 Javascript
javascript容错处理代码(屏蔽js错误)
Jan 20 Javascript
react用Redux中央仓库实现一个todolist
Sep 29 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 #Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 #Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 #Javascript
js实现表单及时验证功能 用户信息立即验证
Sep 13 #Javascript
浅谈JQ中mouseover和mouseenter的区别
Sep 13 #Javascript
浅谈JS的基础类型与引用类型
Sep 13 #Javascript
JavaScript简单下拉菜单特效
Sep 13 #Javascript
You might like
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
PHP的pcntl多进程用法实例
2015/03/19 PHP
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
JavaScript中Function详解
2015/02/27 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
Node.js实现数据推送
2016/04/14 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
详解Python的Django框架中的通用视图
2015/05/04 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
党员发展大会主持词
2015/07/03 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers