javascript编程题,填写程序片断:实现单击multitext文本框,将已选择的书目显示在multitext文本框中。
程序片断如下:
<html>
<head><title>复选框-图书选购 </title>
<script name="JavaScript">
function check(f){
} |
</script>
</head>
<body bgColor="#EEEEEE">
<form name="formchbox" > 请选择图书: <p>
<input type="checkbox" name="books" value="红楼梦">红楼梦<br>
<input type="checkbox" name="books" value="西游记" checked>西游记<br>
<input type=checkbox name="books" value="三国演义">三国演义<br>
<input type=checkbox name="books" value="封神演义">封神演义<br>
<p><font size="-1">单击下面的方框,显示已经选择的书目:
<textarea name="multitext" rows=5 cols=30
onFocus="check(this.form”)) >
</textarea>
</form>
</body>
</html>
复习知识点:
① font size的默认取值为3,取值范围为1到7,如果取值前出现加号或减号表示对默认取值的加或减。如size=”-1”表示为size=”4”,如size=”+0” 表示size=”3” 。
② <input>输入组件类型有九种,分别是text,radio,checkbox,file,buttom,
Hidden,reset,submit,image。
对于上九种输入组件类型中除submit以外其它的都有可用label来进行绑定。
③ 对于表单中的value属性它是具有字符串特性的,所以它可以用所字符串的所有方法与属性。
④ 对于不同的浏览器,对于表单中的输入元素的select()方法的支持性不同,所以如果想对文本框一选中就出现所有的文字被选择你可以分别可虑用onclick与onfocus事件。
答案:
function check(f){
//var books = f.elements["books"];
var books = f.books;//这句与上句是等价的,都是得到name为books的表单元素。
var content ="";
for(var i=0 ; i<books.length; i++){
if(books[i].checked){
content+=books[i].value+"\n";//因为textarea中的value与innerHTML中不支持<br/>如果相换行的话,那就要用转义字符。
}
}
//f.multitext.innerHTML=content;
f.multitext.value=content;//这句与上句是等价的。
}