问题:点击文字和点击按钮,选项框都能够被选中
在用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,在HTML的<input>标记中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中的选项用户可以任意选择多项,甚至全选。请看下面的例子:
<form name="form1" > 你是否喜欢旅游?请选择:<br> <input type="radio" name="radiobutton" value="radiobutton" checked> 喜欢 <input type="radio" name="radiobutton" value="radiobutton"> 不喜欢 <input type="radio" name="radiobutton" value="radiobutton"> 无所谓<br> <br> 您对那些运动感兴趣,请选择:<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属性,只有这样才能实现单选的效果,不然的话上面例子的‘喜欢’、‘不喜欢’、‘无所谓’就可以同时选上了,切记!
那么如何实现点击文字按钮呢?只需要添加一个label标签即可,但是需要注意的是:文字必须是label标签内,checkbox的id和<label>标签内的for=""中的名字必须相同.
<form name="form1" > 你是否喜欢旅游?请选择:<br> <input type="radio" id="like" name="radiobutton" value="radiobutton" checked> <label for="like">喜欢</label> <input type="radio" id="nolike" name="radiobutton" value="radiobutton"> <label for="nolike">不喜欢</label> <input type="radio" id="nocare" name="radiobutton" value="radiobutton"><label for="nocare">无所谓</label> <br> 您对那些运动感兴趣,请选择:<br> <input type="checkbox" id="run" name="checkbox1" value="checkbox"> <label for="run">跑步</label> <input type="checkbox" id="playball" name="checkbox2" value="checkbox"><label for="playball">打球</label> <input id="hiking" type="checkbox" name="checkbox3" value="checkbox"><label for="hiking">爬山</label> <input id="dance" type="checkbox" name="checkbox4" value="checkbox"> <label for="dance">健美</label> </form>