javascript网页特效——控制表单控件

来源:互联网 发布:犀牛软件模型立面 编辑:程序博客网 时间:2024/06/14 02:35

遍历表单的所有控件

<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>   
0 0