javascript 使用DOM设置文本框、单选按钮、复选框、下拉菜单

使用DOM设置文本框

1.控制用户输入的字符个数
对于单行文本框和密码输入框,可以利用maxlength属性控制用户输入的字符个数。
对于多行文本,maxlength为自定义属性,其值最多输入的字符的个数,在onkeypress事件发生时则调运返回LessThan()函数返回值,函数如下

<textarea name="comments" id="comments" cols="40" rows="4" maxlength="50" onekeypress ="return LessThan(this);"></textarea>

详细代码

<script language="javascript">
function LessThan(oTextArea){
//返回文本框字符个数是否符号要求的boolean值
return oTextArea.value.length < oTextArea.getAttribute("maxlength");
}
</script>
<form method="post" name="myForm1" action="addInfo.aspx">
<p><label for="name">请输入您的姓名:</label>
<input type="text" name="name" id="name" class="txt" value="姓名" maxlength="10"></p>
<p><label for="comments">我要留言:</label><br>
<textarea name="comments" id="comments" cols="40" rows="4" maxlength="50" onkeypress="return LessThan(this);"></textarea></p>
<p><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn">
<input type="reset" name="btnReset" id="btnReset" value="Reset" class="btn"></p>
</form>

2.设置鼠标经过自动选择文本

首先是鼠标经过时自动聚焦 onmouseover = "this.focus"

其次是 onfocus = "this.select()"
代码实例:

<form method="post" name="form1" id="form1" action="addInfo.aspx">
<input type="text" name="name" id="name" class="txt" value="姓名" onmouseover="this.focus()" onfocus="this.select()">
</form>

对于多个代码实例,可以使用以下代码进行聚焦

<script type="text/javascript">
    function myFocus() {
        this.focus();
    }

    function mySelect() {
        this.select();
    }
    window.onload = function() {
        var oForm = document.forms["myForm1"];
        oForm.name.onmouseover = myFocus;
        oForm.name.onfocus = mySelect;
    }
</script>
    <form method="post" name="myForm1" action="addInfo.aspx">
        <p>
            <label for="name">请输入您的姓名:</label>
            <input type="text" name="name" id="name" class="txt" value="姓名">
        </p>
        <p>
            <label for="passwd">请输入您的密码:</label>
            <input type="password" name="passwd" id="passwd" class="txt">
        </p>
        <p>
            <input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn">
            <input type="reset" name="btnReset" id="btnReset" value="Reset" class="btn">
        </p>
    </form>

使用DOM设置单选按钮、复选框、下拉菜单

1.设置单选按钮

单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个。每一个都有checked属性,当一项选择为ture时,其它的都变为false.

先贴沙漠化一个例子:

<script type="text/javascript">
    function getChoice() {
        var oForm = document.forms["uForm1"];
        var aChoices = oForm.camera;
        for (i = 0; i < aChoices.length; i++) //遍历整个单选项表
            if (aChoices[i].checked) //如果发现了被选中项则退出
                break;
        alert("相机品牌是:" + aChoices[i].value);
    }

    function setChoice(iNum) {
        var oForm = document.forms["uForm1"];
        oForm.camera[iNum].checked = true;
    }
</script>
<form method="post" name="uForm1" action="addInfo.aspx">
    相机品牌:
    <p>
        <input type="radio" name="camera" id="canon" value="Canon">
        <label for="canon">Canon</label>
    </p>
    <p>
        <input type="radio" name="camera" id="nikon" value="Nikon">
        <label for="nikon">Nikon</label>
    </p>
    <p>
        <input type="radio" name="camera" id="sony" value="Sony" checked>
        <label for="sony">Sony</label>
    </p>
    <p>
        <input type="radio" name="camera" id="olympus" value="Olympus">
        <label for="olympus">Olympus</label>
    </p>
    <p>
        <input type="radio" name="camera" id="samsung" value="Samsung">
        <label for="samsung">Samsung</label>
    </p>
    <p>
        <input type="radio" name="camera" id="pentax" value="Pentax">
        <label for="pentax">Pentax</label>
    </p>
    <p>
        <input type="radio" name="camera" id="others" value="其它">
        <label for="others">others</label>
    </p>
    <p>
        <input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn">
    </p>
    <p>
        <input type="button" value="检测选中对象" onclick="getChoice();">
        <input type="button" value="设置为Canon" onclick="setChoice(0);">
    </p>
</form>

单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个。每一个都有checked属性,当一项选择为ture时,其它的都变为false.
从以上代码中看出,id和name是不同的,一组单选按钮中它们的name是相同的,只有一个被选中。id则是绑定<label>或者其它选择作用的。

其中代码中:检查被选中对象的代码是(当某一项的chcked值为ture时,遍历结束)

var oForm = document.forms["uForm1"];
        var aChoices = oForm.camera;
        for (i = 0; i < aChoices.length; i++) //遍历整个单选项表
            if (aChoices[i].checked) //如果发现了被选中项则退出
                break;
        alert("相机品牌是:" + aChoices[i].value);

2.设置多选框

与单选按钮不同,复选框<input type="checkbox" />可以同时选中多个选项进行处理,邮箱中每条邮件之前的复选框就的典型的运用

<script type="text/javascript">
    function checkbox() {
        var str = document.getElementsByName("hobby");
        var objarray = str.length;
        var chestr = "";
        
        for (j = 0; j < objarray; j++) {
            if (str[j].checked == true) {
                chestr += str[j].value + ",";
            }
        }
        if (chestr == "") {
            alert("请先选择一个爱好~!");
        } else {
            alert("您先择的是:" + chestr);
        }
    }

    function changeBoxes(action) {
        var oForm = document.forms["myForm1"];
        var oCheckBox = oForm.hobby;        
        for (var i = 0; i < oCheckBox.length; i++) //遍历每一个选项
            if (action < 0) //反选
                oCheckBox[i].checked = !oCheckBox[i].checked;
            else //action为1是则全选,为0时则全不选
                oCheckBox[i].checked = action;
    }
</script>

<form method="post" name="myForm1" action="addInfo.aspx">
    喜欢做的事:
    <p>
        <input type="checkbox" name="hobby" id="ball" value="ball">
        <label for="ball">打球</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="TV" value="TV">
        <label for="TV">看电视</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="net" value="net">
        <label for="net">上网</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="book" value="book">
        <label for="book">看书</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="trip" value="trip">
        <label for="trip">旅游</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="music" value="music">
        <label for="music">音乐</label>
    </p>
    <p>
        <input type="checkbox" name="hobby" id="others" value="其它">
        <label for="others">其它</label>
    </p>
    <p>
        <input type="button" value="全选" onclick="changeBoxes(1);" />
        <input type="button" value="全不选" onclick="changeBoxes(0);" />
        <input type="button" value="反选" onclick="changeBoxes(-1);" />
        <input type="button" value="提交"  onclick="checkbox()" />
    </p>
</form>

复选框原理利用checked属性布尔值进行确定,全选和不全选可以采用0和1的方式传递参数。

3.下拉菜单

下拉菜单<select>是比较常用的表单元素。当它的下拉为单选时,和单选按钮<input type="radio" />功能一样,当下拉菜单为多选时multiple="multiple时,功能相当复选框,但所占面积远小于复选框。

下拉菜单的常用属性
属性     说明
length     表示选项<option>个数
selected     布尔值,表示<option>是否被选中
SelectedIndex     被选中选项的序列号,如果没有选项被选中则为-1,对于多选下拉菜单而言,返回第一个被选中的序号,从0开始计数
text     选项的文本
value     选项的值
type     下拉菜单的类型,单选返回select-one,多选返回select-multiple
options     获取选项的数组 ,例如:oSelectBox.options[2],表示下拉菜单oSelectBox第三项

i.下拉菜单获取单选值

<script language="javascript">
    function checkSingle() {
        var oForm = document.forms["myForm1"];
        var oSelectBox = oForm.constellation;
        var iChoice = oSelectBox.selectedIndex; //获取选中项
        alert("您选中了" + oSelectBox.options[iChoice].text);
    }
</script>

<form method="post" name="myForm1">
    <label for="constellation">星座:</label>
    <p>
        <select id="constellation" name="constellation" >
            <option value="Aries" selected="selected">白羊</option>
            <option value="Taurus">金牛</option>
            <option value="Gemini">双子</option>
            <option value="Cancer">巨蟹</option>
            <option value="Leo">狮子</option>
            <option value="Virgo">处女</option>
            <option value="Libra">天秤</option>
            <option value="Scorpio">天蝎</option>
            <option value="Sagittarius">射手</option>
            <option value="Capricorn">摩羯</option>
            <option value="Aquarius">水瓶</option>
            <option value="Pisces">双鱼</option>
        </select>
    </p>
    <input type="button" onclick="checkSingle()" value="查看选项" />
</form>

ii.下拉菜单为多选时,取值

<script type="text/javascript">
    function checkMultiple() {
        var oForm = document.forms["myForm1"];
        var oSelectBox = oForm.constellation;
        var aChoices = new Array();
        //遍历整个下拉菜单
        for (var i = 0; i < oSelectBox.options.length; i++)
            if (oSelectBox.options[i].selected) //如果被选中
                aChoices.push(oSelectBox.options[i].text); //压入到数组中
        alert("您选了:" + aChoices.join()); //输出结果
    }
</script>

    <form method="post" name="myForm1">
        <label for="constellation">星座:</label>
        <p>
            <select id="constellation" name="constellation" multiple="multiple" style="height:180px;">
                <option value="Aries">白羊</option>
                <option value="Taurus">金牛</option>
                <option value="Gemini">双子</option>
                <option value="Cancer">巨蟹</option>
                <option value="Leo">狮子</option>
                <option value="Virgo">处女</option>
                <option value="Libra">天秤</option>
                <option value="Scorpio">天蝎</option>
                <option value="Sagittarius">射手</option>
                <option value="Capricorn">摩羯</option>
                <option value="Aquarius">水瓶</option>
                <option value="Pisces">双鱼</option>
            </select>
        </p>
        <input type="button" onclick="checkMultiple()" value="查看选项" />
    </form>

iii.通用取值(下拉单选和多选的情况)

<script language="javascript">
    function getSelectValue(Box) {
        var oForm = document.forms["myForm1"];
        var oSelectBox = oForm.elements[Box]; //根据参数相应的选择下拉菜单
        if (oSelectBox.type == "select-one") { //判断是单选还是多选
            var iChoice = oSelectBox.selectedIndex; //获取选中项
            alert("单选,您选中了" + oSelectBox.options[iChoice].text);
        } else {
            var aChoices = new Array();
            //遍历整个下拉菜单
            for (var i = 0; i < oSelectBox.options.length; i++)
                if (oSelectBox.options[i].selected) //如果被选中
                    aChoices.push(oSelectBox.options[i].text); //压入到数组中
            alert("多选,您选了:" + aChoices.join()); //输出结果
        }
    }
</script>

<form method="post" name="myForm1">
    星座:
    <p>
        <select id="constellation1" name="constellation1">
            <option value="Aries" selected="selected">白羊</option>
            <option value="Taurus">金牛</option>
            <option value="Gemini">双子</option>
            <option value="Cancer">巨蟹</option>
            <option value="Leo">狮子</option>
            <option value="Virgo">处女</option>
            <option value="Libra">天秤</option>
            <option value="Scorpio">天蝎</option>
            <option value="Sagittarius">射手</option>
            <option value="Capricorn">摩羯</option>
            <option value="Aquarius">水瓶</option>
            <option value="Pisces">双鱼</option>
        </select>
        <input type="button" onclick="getSelectValue('constellation1')" value="查看选项" />
    </p>
    <p>
        <select id="constellation2" name="constellation2" multiple="multiple" style="height:120px;">
            <option value="Aries">白羊</option>
            <option value="Taurus">金牛</option>
            <option value="Gemini">双子</option>
            <option value="Cancer">巨蟹</option>
            <option value="Leo">狮子</option>
            <option value="Virgo">处女</option>
            <option value="Libra">天秤</option>
            <option value="Scorpio">天蝎</option>
            <option value="Sagittarius">射手</option>
            <option value="Capricorn">摩羯</option>
            <option value="Aquarius">水瓶</option>
            <option value="Pisces">双鱼</option>
        </select>
        <input type="button" onclick="getSelectValue('constellation2')" value="查看选项" />
    </p>
</form>

时间: 2024-09-29 07:06:50

javascript 使用DOM设置文本框、单选按钮、复选框、下拉菜单的相关文章

jquery操作下拉列表、文本框、复选框、单选框集合

 jquery操作拉列表.文本框.复选框.单选框集合.各种对下拉列表.文本框.复选框.单选框的jquery的相关操作.做为记录和收藏的最好方法 各种对下拉列表.文本框.复选框.单选框的jquery的相关操作.做为记录和收藏的最好方法.  遍历option和添加.移除option function changeShipMethod(shipping){  var len = $("select[@name=ISHIPTYPE] option").length  if(shipping.v

jquery操作下拉列表、文本框、复选框、单选框集合(收藏)_javascript技巧

各种对下拉列表.文本框.复选框.单选框的jquery的相关操作.做为记录和收藏的最好方法. 遍历option和添加.移除optionfunction changeShipMethod(shipping){ var len = $("select[@name=ISHIPTYPE] option").length if(shipping.value != "CA"){  $("select[@name=ISHIPTYPE] option").each

c#中 文本框,复选框,按钮控件组合成下拉菜单

问题描述 文本框显示复选框的选择,按钮可以显示和隐藏下拉列表,复选框与数据库已经连接网站中的一部分:将文件同时发送给多个人,选择人使用组合成的下拉框protectedvoidbtnSelect_Click(objectsender,EventArgse){this.CheckBoxList1.Visible=true;}protectedvoidCheckBoxList1_SelectedIndexChanged(objectsender,EventArgse){foreach(ListItem

javascript判断单选框或复选框是否选中方法集锦_表单特效

提示:getEmementsByName方法的作用是根据 NAME 标签属性的值获取对象的集合. 样例一<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>判断单选框或复选框是否选中</title> </head> <body> <input name

使用AngularJS处理单选框和复选框的简单方法

这篇文章主要介绍了使用AngularJS处理单选框和复选框的方法,在AngularJS表单的基础之上编写起来非常简单,需要的朋友可以参考下     AngularJS对表单的处理相当简单.在AngularJS使用双向数据绑定方式进行表单验证的时候,实质上它在帮我们进行表单处理. 使用复选框的的例子有很多,同时我们对它们的处理方式也有很多.这篇文章中我们将看一看把复选框和单选按钮同数据变量绑定的方法和我们对它的处理办法. 创建Angular表单 在这篇文章里,我们需要两个文件:index.html

js和jquery分别验证单选框、复选框、下拉框_javascript技巧

本文分别介绍了js和jQuery验证单选框(radio).多选框(checkbox).下拉框(select),分享给大家供大家参考,具体内容如下(1).首先说单选框(radio),radio和checkbox一样都是name相同值有多个在获取 radio 值的时候我们不能按照普通文本框.value的方式,而是要判断哪个被选中了. js验证是要用getElementsByName()获取数组js代码如下: <script> function test(){ var sex = document.

网页制作基础:单选框和复选框的应用

单选框|复选框|网页 在用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,在HTML的<input>标记中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中的选项用户可以任意选择多项,甚至全选.请看下面的例子: 下面给出这个例子的源代码,结合代码来讲各参数的设置: <form name="form1" > 你是否喜欢旅游?请选择:<br> <input type="radio"

谷歌Chrome浏览器中单选框和复选框不显示怎么办

  谷歌Chrome浏览器中单选框和复选框不显示怎么办?最近不知怎么地,学研端的Chrome浏览器中的单选框和复选框经常不显示.给上网带来很大的不方便.虽然可以拷贝网址到firefox或者搜狗浏 览器中看,或者直接换浏览器,但总觉得还是用chrome习惯.更让学研端舍不得的是chrome简约的界面和强大的插件库.所以尝试了一个办法终于解决 了单选框和复选框无法正常显示的问题. 应该有多种解决办法的,学研端使用的是修改计算机的属性.具体地,是:依次进入:"我的电脑"→"属性&q

js实现iPhone界面风格的单选框和复选框按钮实例_javascript技巧

本文实例讲述了js实现iPhone界面风格的单选框和复选框按钮.分享给大家供大家参考.具体如下: 这里使用JS美化仿iPhone风格的单选框和复选框按钮效果,使用了jQuery代码,附有完整实例及使用方法,现在,iPhone风格确实流行,希望大家也喜欢. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-iphone-radio-checkbox-button-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "