display:none 和visible:false 的區別(轉)
天遇到一個需求,把原先表單上需要輸入的一個項隱藏起來,考慮有2種方法:
首先說一下頁面佈局,這個輸入項是一個TextBox,放在一個Table裡的一個TR下的TD裡,所以可以對TR進行隱藏
一種:把TR的display改為none
另外一種:把TR的visible改為false
經過測試,2種方法都可以隱藏裡面的控制元件,但是稍有區別:
像大多數網上其他文章說的那樣,第一種僅僅是隱藏了控制元件,但是html程式碼依然生成,也就是我裡面的textBox還是會生成input控制元件,而第二種就直接不生成html控制元件了。
看到這裡還沒完,也許你會覺得以後遇到這個需求,採用那一種方法都沒問題,但是我這裡比較特殊,我的TextBox後面還有個驗證控制元件,這個控制元件是原來用來驗證使用者必須輸入這個專案的。現在如果採用第一種方法,會有這個問題:
畫面上看不到輸入項,但是點選確定按鈕始終看不到頁面提交。
產生這個問題的原因是:該驗證控制元件並沒有消失,只是被強制不顯示了,導致使用者也不知道哪裡出了問題。
如果採用第二種方法,就不存在這個問題,因為在html程式碼里根本沒有產生這個驗證控制元件,所以仍然是可以提交頁面的。
綜上所述,如果你的程式碼中存在驗證控制元件,建議還是採用第二種方法,除非你願意頻繁修改你的程式碼結構。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-664730/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CSS display:none和visible:hidden區別CSSNone
- display:none和visibility:hidden的區別None
- 說說display:none和visibility:hidden的區別None
- display: none與visibility: hidden的區別None
- Python中none和null的區別詳解!PythonNoneNull
- CSS之Display、Visbility和Opactity的區別CSS
- CSS 中 stopPropagation, preventDefault 和 return false 的區別CSSFalse
- display:inline-flex 和 display:flex有什麼區別inlineFlex
- display:flex與display:box 區別Flex
- border:0和border:none的區別是什麼None
- preventDefault()與return false區別False
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- CSS魔法堂:display:none與visibility:hidden的恩怨情仇CSSNone
- css中的border:none和border:0px有什麼區別?CSSNone
- js中return、return true、return false的區別JSFalse
- 新增display:none;導致盒子被擠下去的解決方法None
- display:flex與inline-flex 區別Flexinline
- Android開發之--visibility屬性VISIBLE、INVISIBLE、GONE的區別AndroidGo
- 轉發和重定向的區別?
- jQuery無法獲取隱藏元素(display:none)寬度(width)和高度(height)的新解決方案jQueryNone
- 分析比較opacity: 0、visibility: hidden、display: none三者的優劣和適用場景None
- 轉發和重定向的過程和區別
- input屬性disabled和readonly的區別(轉)
- 【轉】理解 CI 和 CD 之間的區別
- Vue中computed和watch的區別(轉載)Vue
- Ruby中的true和falseFalse
- 強制型別轉換(int)、(int&)和(int*)的區別型別
- String.valueOf和強制型別轉換(String)的區別型別
- ../和./和/的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- Python3中真真假假True、False、None等含義詳解PythonFalseNone
- ||和??的區別
- /*和/**的區別
- 別再用 display: contents 了
- GO語言中string和[]byte的區別及轉換Go
- 塊元素和行內元素的區別與轉換
- quit(code=None)函式和exit(code=None)函式的使用舉例UINone函式
- Etag和if-None-MatchNone