HTML复选框和单选框 checkbox和radio事件介绍

HTML复选框和单选框 checkbox和radio事件介绍,第1张

checkbox

radio的事件选择一度让我很迷惑。

开始以我对js的理解,我觉得change事件应该是最合理的,可惜啊ie下change事件是在改变后焦点离开时才触发。

后来就用click

mousedown等鼠标事件代替。发现click比mousedown要更完美一些:

radio注册了click事件以后,神奇的是用键盘上的上下左右选择时,居然会触发鼠标事件,滚轮也会触发,这种神奇的事情在mousedown下面是不会发生的。(webkit不能使用上下左右选择)

checkbox注册click事件后,奇迹再次上演,当我们用空格选中checkbox时,神奇的click事件再次触发,而mousedown再次与奇迹擦身而过。(webkit还是不能用空格选择)

让我们都用click吧,给这两位老兄减负吧,不要为了他们先天不足给他们绑定一堆事件了,对于这两个家伙click才是万能的。膜拜一下~~~

在用表单设计调查表时,为了减少用户的 *** 作,使用选择框是一个好主意,在HTML的<input>标记中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中的选项用户可以任意选择多项,甚至全选。请看下面的例子:

下面给出这个例子的源代码,结合代码来讲各参数的设置:

<form

name="form1"

>

你是否喜欢旅游?请选择:

复制代码

代码如下:

<input

type="radio"

name="radiobutton"

value="radiobutton"

checked>

喜欢

<input

type="radio"

name="radiobutton"

value="radiobutton">

不喜欢

<input

type="radio"

name="radiobutton"

value="radiobutton">

无所谓<br>

您对那些运动感兴趣,请选择:

复制代码

代码如下:

<input

type="checkbox"

name="checkbox1"

value="checkbox">

跑步

<input

type="checkbox"

name="checkbox2"

value="checkbox">

打球

<input

type="checkbox"

name="checkbox3"

value="checkbox">

登山

<input

type="checkbox"

name="checkbox4"

value="checkbox">

健美<br>

</form>

从上面的源代码中可看出,制作单选框只要把<input>标记的type参数设置为type="radio"就行了而制作复选框则只要把<input>标记的type参数设置为type="checkbox"就行了。至于实际应用中用那种选择框,要根据实际需要而定。若只需用户有一种选择的,就用单选框,如本例中“你是否喜欢旅游?”这个问题,用户只能是一种选择,所以采用了单选框若允许用户有多项选择的内容,则采用复选框,如本例中的“你对那些运动感兴趣?”这个问题,因一个人的兴趣可能是多方面的,所以采用了复选框。

在<input>标记中设定checked参数,则该选框就被默认选中。如本例的第一个单选框(“喜欢”下面那个单选框)就设置为默认选中,这样用户若是想选择“喜欢”的话,就可以不用再选了,当然,若用户要选择了“不喜欢”,则只要点击“不喜欢”下的那单选框,而默认值被自动取消。用同样的方法也可以设置某个复选框为默认被选中。但是复选框的默认选中不可滥用,否则会引起用户的反感。

在radio里面千万要注意记得把所有的<input

type='radio'>这个对象的name属性都设为相同的,比如说上例的

name="radiobutton"

,记住不是ID属性,只有这样才能实现单选的效果,不然的话上面例子的‘喜欢'、‘不喜欢'、‘无所谓'就可以同时选上了,切记!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

 <HEAD>

  <TITLE> New Document </TITLE>

  <META NAME="Generator" CONTENT="EditPlus">

  <META NAME="Author" CONTENT="">

  <META NAME="Keywords" CONTENT="">

  <META NAME="Description" CONTENT="">

  <SCRIPT LANGUAGE="JavaScript">

  <!--

function to_change(){

var obj  = document.getElementsByName('aa')

for(var i=0i<obj.lengthi++){

if(obj[i].checked==true){

if(obj[i].value=='s'){

document.getElementById('content').innerHTML='售售'

}else if(obj[i].value=='z'){

document.getElementById('content').innerHTML='租租'

}

}

}

}

  //-->

  </SCRIPT>

 </HEAD>

 <BODY>

   <INPUT TYPE="radio" NAME="aa" value='s' onclick="to_change()">售

   <INPUT TYPE="radio" NAME="aa" value='z' onclick="to_change()">租

   <hr>

   <span id='content'>

   </span>

 </BODY>

</HTML>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7933170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存