和
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属性,只有这样才能实现单选的效果,不然的话上面例子的‘喜欢'、‘不喜欢'、‘无所谓'就可以同时选上了,切记!
<input type="checkbox" id="box"/><script>
var oBox= document.getElementById('box')
oBox.onclick =function(){
if(this.checked){
startOnlick()//选中后需要执行的方法
} else{
//未选中事件
}
}
</script>
试试看
在html语言中,标记<input>具有重要的地位,它能够将浏览器中的控件加载到html文档中,该标记是单个标记,没有结束标记。<input type="">标志用来定义一个用户输入区,用户可在其中输入信息。此标志必须放在 <form></form>标志对之间.type属性值定义type属性取值输入区域类型控件的属性及说明<input type="TEXT" size="" maxlength="">单行的文本输入区域,size与maxlength属性用来定义此种输入区域显示的尺寸大小与输入的最大字符数(1)name 定义控件名称
(2)value 指定控件初始值,该值就是浏览器被打开时在文本框中的内容
(3)size 指定控件宽度,表示该文本输入框所能显示的最大字符数。
(4)maxlength 表示该文本输入框允许用户输入的最大字符数。
(5)onchang 当文本改变时要执行的函数
(6)onselect 当控件被选中时要执行的函数
(7)onfocus 当文本接受焦点时要执行的函数<input type="button">普通按钮,当这个按钮被点击时,就会调用属性onclick指定的函数在使用这个按钮时,一般配合使用value指定在它上面显示的文字,用onclick指定一个函数,一般为JavaScript的一个事件。这三个按钮有下面共同的属性:
(1)name 指定按钮名称
(2)value 指定按钮表面显示的文字
(3)onclick 指定单击按钮后要调用的函数
(4)onfocus 指定按钮接受焦点时要调用的函数<input type="SUBMIT">提交到服务器的按钮,当这个按钮被点击时,就会连接到表单form属性action指定的url地址。<input type="RESET">重置按钮,单击该按钮可将表单内容全部清除,重新输入数据。<input type="CHECKBOX" checked>一个复选框,checked属性用来设置该复选框缺省时是否被选中,右边示例中使用了三个复选框checkbox用于多选,有以下属性:
(1) name 定义控件名称
(2) value 定义控件的值
(3) checked 设定控件初始状态是被选中的
(4) onclick 定义控件被选中时要执行的函数
(5) onfocus 定义控件为焦点时要执行的函数<input type="HIDDEN">隐藏区域,用户不能在其中输入,用来预设某些要传送的信息hidden 隐藏控件,用于传递数据,对用户来说是不可见的属性有:
(1)name 控件名称,
(2)value 控件默认值
(3)hidden隐藏控件的默认值会随表单一起发送给服务器,例如:
<input type="Hidden" name="ss" value="688">
控件的名称设置为ss,设置其数据为"688",当表单发送给服务器后,服务器就可以根据hidden的名称ss,读取value的值688<input type="IMAGE" src="URL">使用图像来代替Submit按钮,图像的源文件名由src属性指定,用户点击后,表单中的信息和点击位置的X、Y坐标一起传送给服务器(1)name 指定图像按钮名称
(2)src 指定图像的url地址<input type="PASSWARD">输入密码的区域,当用户输入密码时,区域内将会显示"*"号password 口令控件
表示该输入项的输入信息是密码,在文本输入框中显示"*",属性有:
(1)name 定义控件名称
(2)value 指定控件初始值,该值就是浏览器被打开时在文本框中的内容
(3)size 指定控件宽度,表示该文本输入框所能显示的最大字符数。
(4)maxlegnth 表示该文本输入框允许用户输入的最大字符数。
<input type="RADIO">单选按钮类型,checked属性用来设置该单选框缺省时是否被选中,右边示例中使用了三个单选框radio用于单选,有以下属性:
(1) name 定义控件名称
(2) value 定义控件的值
(3) checked 设定控件初始状态是被选中的
(4) onclick 定义控件被选中时要执行的函数
(5) onfocus 定义控件为焦点时要执行的函数当为单选项时,所有按钮的name属性必需相同,如:都设置为my_radio。以上类型的输入区域有一个公共的属性name,此属性给每一个输入区域一个名字。这个名字与输入区域是一一对应的,即一个输入区域对应一个名字。服务器就是通过调用某一输入区域的名字的value值来获得该区域的数据的。而value属性是另一个公共属性,它可用来指定输入区域的缺省值。
应用格式<input 属性1 属性2......>常用属性:1 name 控件名称2 type控件类型 如:botton 普通按钮,texe 文本框等3 align 指定对齐方式,可取top, bottom, middl4 size 指定控件的宽度5 value 用于设定输入默认值6 maxlength在单行文本的时候允许输入的最大字符数7 src 插入图像的地址8 event 指定激发的事件