|
楼主 |
发表于 2005-4-23 14:39
|
显示全部楼层
下面略谈一些改变,比如实现按Enter键就可提交表单.
<form name=\"form1\">
请输入查询人的姓名
<input type=\"text\" name=\"text1\" onkeydown=\"javascript:if(event.keycode==13)Check();return false;\">
<input type=\"button\" name=\"button1\" value=\"查询\">
</form>
还有,我们可以选择多种形式的查询,可按姓名,性别,住址,电话号码.
这就要一个<select></select>
<form name=\"form1\">
请输入查询人的姓名
<select name=\"select1\">
<option value=\"n\">姓名</option>
<option value=\"s\">性别</option></select> //这里只用姓名和性别
<input type=\"text\" name=\"text1\" onkeydown=\"javascript:if(event.keycode==13)Check();return false;\">
<input type=\"button\" name=\"button1\" value=\"查询\">
</form>
多了这些,就要在JAVASCRIPT代码中作相应改变了,
要判断使用的是哪种查询,
if(this.document.form1.select1.value=\"n\")
这里还要注意的是,如果选姓名查询和原先的一样,但若选性别查询就要改变一些JAVASCRIPT了.
若用性别,由于XML文档中,性别是处在姓名的下一个位置,则原来
nodes3=node2.childNodes; //所有的<联系人>下的子元素
node3=nodes3.nextNode(); //<联系人>的下一个子元素<姓名>(张三)
要改为
nodes3=node2.childNodes; //所有的<联系人>下的子元素
node3=nodes3.nextNode(); //<联系人>的下一个子元素<姓名>(张三)
node3=nodes3.nextNode(); //再下一个,到了<性别>元素
那么只要用if else就可以了,但要多一些选择就要麻烦些,通过自行测试更改,就可以了.
下面说说实现表格输出,
上次用innerText只是文本输出,这回用innerHTML就可实现表格输出了.
在原来的JAVASCRIPT中加上一个变量,
var table1=\"<table boder=\'1\'><tr><td>姓名</td><td>性别</td><td>住址</td><td>电话号码</td></tr>\"+\"<tr>\";
原来
s=s+\" \"+node3.text;
变为
s=s+\"<td>\"+node3.text+\"</td>\";
在 node2=nodes2.nextNode();//移到下一个<联系人>
后面加上 s=s+\"</tr>\";
原来
div1.innerText=s;
改为
s=table1+s+\"</table>\"; div1.innerHTML=s;
这样就可以实现表格输出了.
其实它有这样的输出已经很不错了,如果你想有一个漂亮的界面,就要自己做一个好看的网页,再把这个表单加上去就行了.
就这样,你就满意吗?
其实,有时候我们输入查询的时候常常会输入多余的空格,还有,当它找不到时会输出上面的头(姓名,性别,住址,电话号码),没内容.
如何处理这些呢?
精益求精的人,就会去想加办法的. |
|