兩個小問題備忘以及繼續談交互

          繼續談談交互,由于在目前的項目中真正的去考慮了交互,發現以前在實現功能的時候真的完全沒考慮這些,例如怎么樣用戶才能更加方便的找到和使用他想要的功能,還有對于初級用戶、中間用戶和專家用戶系統應該分別怎樣去支持好,最近的想法主要是集中在工具欄按鈕和菜單按鈕上,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 閱讀(2837) 評論(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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿拉善盟| 定陶县| 冕宁县| 广灵县| 烟台市| 曲靖市| 南陵县| 隆林| 池州市| 偃师市| 镇巴县| 浮山县| 正镶白旗| 海盐县| 凤冈县| 成安县| 滦南县| 河东区| 阿图什市| 墨玉县| 贵南县| 红河县| 信宜市| 上蔡县| 崇义县| 探索| 清原| 平昌县| 宁都县| 会宁县| 盈江县| 临沂市| 石嘴山市| 湖南省| 健康| 达州市| 徐水县| 桐庐县| 黄冈市| 扎囊县| 唐海县|