本文实例为大家分享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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
js,表单控件
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。