两个小问题备忘以及继续谈交互

继续谈谈交互,由于在目前的项目中真正的去考虑了交互,发现以前在实现功能的时候真的完全没考虑这些,例如怎么样用户才能更加方便的找到和使用他想要的功能,还有对于初级用户、中间用户和专家用户系统应该分别怎样去支持好,最近的想法主要是集中在工具栏按钮和菜单按钮上,office、IE等等各种客户端的软件基本都采用了这样的方式设计,而在B/S中其实同样如此,而以前在实现功能时通常会把这两者搞得很混淆,导致系统非常的不好用、不方便用,而现在慢慢的开始重视工具栏按钮和菜单按钮的区别,菜单按钮属于完整型的,几乎所有功能都能通过菜单按钮找到入口,而且在菜单按钮中还会放置系统中非常少使用的功能以及各种功能的配置入口;而在工具栏中则放置用户常用的功能以及无需配置可直接起效果的按钮,象直接打印的按钮等,菜单和工具栏这两个东西在About Face书中讨论的比较多,不过也只有在真正使用的时候才能领会About Face书中的思想。

备忘的问题一:
javascript清空表格中行的问题。
开始是这么写的:
这是table部分:

< table >
< tbody  id ="tableId" >
    
< tr >< td > 1 </ td ></ tr >
    
< tr >< td > 2 </ td ></ tr >
    
< tr >< td > 3 </ td ></ tr >
    
< tr >< td > 4 </ td ></ tr >
</ tbody >
</ table >
这是清空表格中行的js:
var tableEle=document.getElementById("tableId");
var rows=tableEle.getElementsByTagName("tr");
for(var i=0;i<rows.length;i++){
    tableEle.deleteRow(i);
}
运行这段js后会发现删除的是1、3两行,而2、4两行则留下了,这个问题仔细去看就会发现非常简单,是因为tableEle.deleteRow(i)这个问题,当i为0时,即删除了1这行,而当i为1时,表格中的行则已经变为了2、3、4,而这个时候删除的为序号为1的行,即3这行,再继续执行的tableEle.deleteRow已经没作用了。
发现了这个问题后就很简单了,就改为tableEle.deleteRow(0)就行了,觉得应该有更为简单的办法,但目前尚未找到,还望知道的XDJM们告知一声,thx。
备忘的问题二:
动态创建的radio按钮无法选中的问题。
其中radio按钮是通过
var radioEle=document.createElement("input");
radioEle.type
="radio";
radioEle.name
="radioBtn";
这样创建出来的,运行后就发现radio这个按钮没法选中,后来把name属性放到createElement那段里(document.createElement("<input name=radioBtn>"))才行,而通过radioEle.name这样属性赋值的方式就会出现这个问题。

posted on 2006-09-06 20:10 BlueDavy 阅读(2825) 评论(5)  编辑  收藏 所属分类: Javascript业界随想

评论

# re: 两个小问题备忘以及继续谈交互 2006-09-07 11:35 Avant

两个办法:
1) var tableEle=document.getElementById("tableId");
while(tableEle.firstChild)
{
tableEle.removeChild(tableEle.firstChild);
}
2) var tableEle=document.getElementById("tableId");
var rows=tableEle.getElementsByTagName("tr");
for(var i=rows.length -1; i >=0; i--){
tableEle.deleteRow(i);
}  回复  更多评论   

# re: 两个小问题备忘以及继续谈交互 2006-09-08 19:42 BennyBao

你的第二个问题我也碰到过,后来用innerHTML替代了。因为document.createElement("<input name=radioBtn>")在Mozilla下是行不通的。  回复  更多评论   

# re: 两个小问题备忘以及继续谈交互 2006-10-06 11:40 IUSR

呃,第二个问题确实比较古怪。ff下没问题,IE下用ie dev toolbar一看没有name属性,就算在dom explorer里加也加不进去。我记得IE下很多表单元素都很变态,很多限制,不知道是不是原先被各色人等搞的次数太多了XD  回复  更多评论   

# re: 两个小问题备忘以及继续谈交互[未登录] 2009-08-07 10:05 steven

var tableEle=document.getElementById("tableId");
var rows=tableEle.getElementsByTagName("tr");
for(var i=0;i<rows.length;i++){
tableEle.deleteRow(0); ---i改为0
}  回复  更多评论   

# re: 两个小问题备忘以及继续谈交互 2010-01-11 15:11 liuq

在tr上增加属性id="tr_1",id="tr_2"...然后取,再删,想怎么删都行  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜