zwleisa

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            18 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          #

                                                         有效網頁表單的八條規則
          原文地址:http://www.20ju.com/content/V93605.htm

                  如果你正從你的用戶那里收集信息, 沒有比網頁表單更簡單和直接的辦法了。一份有良好設計的表單可以提供有價值的信息, 相反, 他們有可能把用戶嚇跑。明確了這一點之后, 每個設計師就應該知道一些設計網頁表單的規則。

          1. 保守性的搭建, 并帶有目的性的設計表單
           
          我們要面對的現實是沒有人喜歡花大把的時間填寫表單. 保持表單的短小精悍并且剔除絕對不必要的或者不會提供實際收效的表單元素. 保證表單的每個部分都對整體起到了推動作用, 這樣用戶會感謝你。


          你的表單結構應該和表單內的元素一樣具有功能性. 當設計表單樣式的時候, 要記得, 至少在西方國家, 人們的閱讀習慣是從上到下, 從左到右. 他們也經常用Tab鍵在表單各個元素之間移動. 你的設計應該通過元素擺放的合理性和標簽的語義性來實現. 當然, 永遠不要讓你的表單看起來分散或雜亂無章——保證所有的元素都均勻的分隔開, 并且排列整齊。


          下面是一些標準表單, 你可以用來作為出發點, 設計出更加有創造性的表單:


          標簽左對齊, 輸入字段垂直羅列:

           

          這個表單的特點是標簽左對齊, 輸入框整齊有序的從上到下排列. 我們的眼睛能夠很容易的捕捉表單元素, 特別是當你問到一些用戶不太熟悉的問題時。因為他們可以很順利的從上到下閱讀問題列表而不被輸入框打斷, 他們會更專注于你所問的問題. 但是這個樣式會延長填完表單的時間, 因為視線在標簽和輸入框之間移動會占據大量的時間。


          標簽右對齊, 輸入字段垂直堆疊:

           

          右對齊的標簽能夠更容易區分和閱讀, 并且剔除掉了標簽和輸入框之間那些不合適的空間. 但是, 卻使閱讀更加困難. 它不那么吸引人, 而且看起來不整齊。


          標簽頂端對齊:

          頂端對齊的標簽可以使填寫表單更加迅速和容易, 因為眼睛不需要在標簽和
          輸入框之間來回移動. 這種樣式也讓你把相關的字段放在一起, 節省了空間。
           
           


          2. 讓你的表單適應它的風格


          每個表單都應該符合它要表達的形勢或情況. 當你在計劃著設計表單的時候, 問問自己下面的這些問題: 你打算問什么問題? 為什么問? 你的網頁設計在有表單和沒有表單的情況下分別是什么樣子? 表單中有沒有用戶要填的信息, 或者有沒有他們想要填的信息? 你的回答會對你的表單樣式和內容的設計有所幫助。
           


          3. 用你所需


          當你猶豫不決是否在表單中添加元素的時候, 問問自己是不是可以不需要這個元素. 如果回答"是", 就不要使用。

          重置按鈕通常是不必要的表單元素. 這個本應消失的歷史殘留品卻依然出現在表單中, 甚至是將來的表單設計. 想想看, 當你想要修改表單信息的時候,
          輸入框里面有什么內容其實并不重要, 那么有什么必要清除所有的信息呢? 重置按鈕唯一好處是當你不小心清除了剛剛填好的信息, 很惱火的時候,
          你不需要重新填寫。
           

          4. 在必要的時候才使用簡潔的描述
          你也許要解釋一下在表單中收集相關信息的原因, 特別是用戶不愿分享的信息,比如電話號碼或者電子郵件. 這樣做不僅消除了用戶的疑慮, 也保證了數據的正確性。


          任何描述和評論都要簡明扼要. 你也許還要用不同的顏色, 字體大小, 或樣式來區分他們. 過猶不及, 畢竟你不希望這些描述索然無味或者明顯超過表單的其他部分. 這是一個提供印刷服務的表單, 很有效的利用了描述來說明表單的作用。
          看下圖:

           


          5. 主動溝通
          保證你的表單中使用以用戶為中心的友好語言. 這里有個小竅門可以寫出平常談話般的文字: 避免和你的用戶真正交談。
          如果你想知道別人的名字, 你不會盯著他們的眼睛用呆板的措辭問, "全名". 那實在是太恐怖了. 如果你要得到積極的回應, 你會笑著說, "你好, 你叫什么名字?" 記住試著用更加人性化的措辭來代替"全名"這個標簽, 比如, "你的名字"。
           


          6. 把表單分成劃分成許多小的部分
          在小范圍內交換想法和意見是溝通的一種方式. 大家互相介紹自己. 你描述自己的職業, 其他人發表評論或者提問題. 你重復說過的內容, 或者回答他人的問題會收到更多的回應. 一次有意義的充實的交談, 信息是源源不斷的, 一來一回的。
           
          網頁表單作為另外一種溝通的方式, 也是同樣的道理. 你也許要問許多問題, 但是那并不意味著你要把他們一股腦的給讀者. 試著用水平線, 色塊, 有意義的圖片, 或者用標題字把信息分割成為容易閱讀的小集合. 如果, 以上的辦法都行不通, 就把你的表單分成許多頁, 在頂部加上進度條, 如此一來, 用戶就能夠知道他們還差多少沒有完成。如下圖:
           

           
           


          7. 使用有意義的, 關聯上下文的錯誤信息
          你的出錯信息應該可以清楚的表明哪里出錯, 并使出錯的部分突出出來. 畢竟, 沒有人喜歡在表單里面搜索被遺漏的字段。
           


          8. 當用戶點擊提交按鈕時, 他們會自以為已經完成了, 打算離開. 基本上他們會說, "這是你要的信息, 再見."


          如果是一次真正的交談, 你會和他們握手, 然后說, "再見", 再離開, 或者通過其他方式告訴他們談話結束了. 你的表單也會做同樣的事情.
          它有沒有引導用戶到達某個頁面, 告訴他們, "感謝你的提交! 我們不久之后會聯系你.",
          或諸如此類的提示. 而且此時的網頁上應該有返回主頁的鏈接。


          就這些了! 在設計網頁表單的時候要記得這些規則, 你一定會驚訝于表單的質量的大幅提升以及收獲的大量反饋。

          posted @ 2009-06-01 14:58 神仙嘆 閱讀(208) | 評論 (0)編輯 收藏

          在tomcat5下jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,文件下載等),
          沒有妥善處理好的原因。
          具體的原因就是
          在tomcat中jsp編譯成servlet之后在函數_jspService(HttpServletRequest request, HttpServletResponseresponse)的最后
          有一段這樣的代碼
          finally {
          ????? if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
          ??? }
          這里是在釋放在jsp中使用的對象,會調用response.getWriter(),因為這個方法是和
          response.getOutputStream()相沖突的!所以會出現以上這個異常。

          然后當然是要提出解決的辦法,其實挺簡單的(并不是和某些朋友說的那樣--
          將jsp內的所有空格和回車符號所有都刪除掉),

          在使用完輸出流以后調用以下兩行代碼即可:
          out.clear();
          out = pageContext.pushBody();

          posted @ 2008-06-18 18:55 神仙嘆 閱讀(1914) | 評論 (2)編輯 收藏

          使用MS SQL Server 2005 SP3做數據庫服務器時,用Microsoft提供的JDBC驅動,在查詢時遇到一個SQLException:ResultSet can not re-read row data for column #.

          查詢語句和JDBC代碼都沒有問題,所以懷疑是Microsoft驅動的BUG,google一下果然在Microsoft support站點發現了問題:http://support.microsoft.com/kb/824106

          原因是如果該表存在TEXT, NTEXT, IMAGE等大型字段,對于ResultSet的字段讀取必須按照從左向右讀,如果你用:

          int a = rs.getInt(2);
          int b = rs.getInt(1);

          則報錯。Microsoft給出的方案是不能從右往左也不能連續讀2次。沒辦法自己改代碼,嚴格從左向右讀,結果就沒有問題了。
          posted @ 2008-05-31 19:47 神仙嘆 閱讀(210) | 評論 (0)編輯 收藏

               摘要: 今天接到個電話,說某省的一個非歸檔數據庫中,為某個表空間添加數據文件時誤操作,加成了文件系統(數據庫是使用裸設備做數據文件的),當時處理的方式是直接在os級rm掉了這個數據文件。結果在oem里面點擊表空間的時候就報數據文件找不到了。然后,另一個同事將該數據文件執行offline drop后,在oem里面點擊表空間不報錯了。 但是這是否就正常了呢? 我們說,表空間就像一個容器,像一個空的...  閱讀全文
          posted @ 2008-02-15 15:07 神仙嘆 閱讀(1741) | 評論 (2)編輯 收藏

          1. Request[/B201] does not contain handler parameter named 'action'.? This may be caused by whitespace in the label text

          ??????解決:在jsp頁面的表單中,加入<input type="hidden" name="method">

          posted @ 2007-09-05 19:07 神仙嘆 閱讀(745) | 評論 (3)編輯 收藏

               摘要:   閱讀全文
          posted @ 2007-08-23 15:15 神仙嘆 閱讀(469) | 評論 (0)編輯 收藏

          刪除項目lib下的jsp-api.jar和servelet-api.jar即可
          posted @ 2007-07-27 10:07 神仙嘆 閱讀(2350) | 評論 (1)編輯 收藏

          1.現象:[hibernate][ERROR] - Could not synchronize database state with session
          解決方法:加入nls_charset12.jar,classes12.jar

          2.ORA-12541:TNS:沒有監聽器

            原因:沒有啟動監聽器或者監聽器損壞。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是后者,則使用“Net8 Configuration Assistant”工具向導之“監聽程序配置”增加一個監聽器即可(基本不用寫任何信息,一路OK。在添加之前可能需要把所有的監聽器先刪除!)


          3.ORA-12500:TNS:監聽程序無法啟動專用服務器進程

            或

            ORA-12560:TNS:協議適配器錯誤

            原因:ORACLE的數據庫服務沒有啟動。使用命令net start ORACLESERVICEORADB(ORADB為數據庫名字)即可。如果仍沒有解決,請繼續向下看。

          如果數據庫服務啟動失敗,則很有可能是其注冊表項值損壞,最好的做法是以下兩步:

            1)ORADIM -DELETE -SID oradb 刪除數據庫服務項

            2)ORADIM -NEW -SID oradb 新增數據庫服務項

            注:這個過程中如果出錯,就重啟計算機!

          4、ORA-12154:TNS:能解析服務名

            原因:ORACLE的網絡服務名沒有正確配置。請使用“Net8 Configuration Assistant”工具向導之“本地網絡服務名配置”配置TNS即可。如果仍沒有解決,請繼續向下看。

          5、ORA-1034 :TNS:ORACLE不可用

            原因:ORACLE的數據庫服務正確啟動,但是數據庫沒有打開!

            使用命令:

            1)svrmgrl 啟動服務管理器

            2)connect internal 以internal身份登陸

            3)startup 打開數據庫

          6、ORA-12560:TNS:協議適配器錯誤(頑固性的)

            原因:未知。

            解決:必殺技--打開“Windows任務管理器”,殺死ORACLE.exe及ORADIM.exe進程,書寫自己的ora_startup.bat,執行之!

            PS:

            1、我的ora_startup.bat:

            net start OracleOraHome81TNSListener

            net start ORACLESERVICEORADB

            svrmgrl 一般情況下不用,不過有時少不了它的,具體步驟見第5步。

            2、我的ora_shutdown.bat:

            net stop OracleOraHome81TNSListener

            net stop ORACLESERVICEORADB

            3、ORACLE相關服務名請參見“管理工具”之“服務”中以ORACLE開頭的服務名。


          7.ora-01747:無效的用戶.表.列,表.列
          原因:表的字段中有oracle的關鍵字
          解決:設計表時避免使用關鍵字
          posted @ 2007-07-24 15:09 神仙嘆 閱讀(253) | 評論 (0)編輯 收藏

          現象 : 服務器上沒有安裝 iis, 同時已將配置文件中 Tomcat 訪問端口改為 80 端口 , 已命令行形式啟動 Tomcat , 客戶端可以通過瀏覽器訪問 , 測試成功 . 于是將 tomcat 注冊為 windows 的服務 , 啟動之 , 啟動過程一切正常 , 打開瀏覽器 , 竟然無法訪問 , : 無法找到服務器 . 以為是環境變量設置不正確 , 反復嘗試后 , 仍然不行 . 但發現另外一個現象 : 在服務器上是可以訪問系統的 , 同時王志華提醒可能是防火墻的問題 , 深以為然 . 打開操作系統的防火墻 , 發現 tomcat 已在例外中 , apche 沒有 , 隨增加之 . 重新打開瀏覽器 , 還是不行 . 繼續在防火墻里尋找答案 , 打開高級選項卡 , 選擇 本地連接 1” , 打開設置按鈕 , web 服務器 (http) 打勾 , 重起服務 ,OK!

          posted @ 2007-07-23 15:28 神仙嘆 閱讀(245) | 評論 (0)編輯 收藏

          1. Java_Home:指向jdk的安裝目錄,例:C:\Program Files\Java\jdk1.5.0
          2. 在Path增加一條:%JAVA_HOME%\bin,注意,如果安裝過oracle9i,要將該條放在C:\Program Files\Oracle\jre\1.3.1\bin之前;
          3. 增加classpath項,內容為:%JAVA_HOME\lib;%
          4. 增加Catalina_Home項,內容為tomcat的安裝目錄,例:D:\Server\tomcat-5.1.5;
          posted @ 2007-07-23 13:32 神仙嘆 閱讀(286) | 評論 (0)編輯 收藏

          僅列出標題
          共2頁: 1 2 下一頁 
          主站蜘蛛池模板: 民权县| 博野县| 扎囊县| 丰城市| 全椒县| 白山市| 安多县| 台南市| 收藏| 彝良县| 鄂温| 新巴尔虎右旗| 油尖旺区| 隆子县| 通江县| 伊金霍洛旗| 南澳县| 滁州市| 耿马| 晋州市| 大埔区| 江陵县| 兴文县| 余姚市| 陈巴尔虎旗| 石景山区| 白水县| 马鞍山市| 盘山县| 海南省| 祁门县| 新丰县| 富蕴县| 汤原县| 宣汉县| 南投县| 东台市| 溧水县| 岳阳县| 大埔区| 蓝田县|