<input type="password" name="info[password]" id="password3" class="list-input" onblur="if(this.value==''){this.value='請輸入6-20位密碼';}" onfocus="if(this.value=='請輸入6-20位密碼'){this.value='';}" value="請輸入6-20位密碼" placeholder="請輸入6-20位密碼"/>
這句話現在預設顯示的·······,滑鼠點擊到輸入框後才顯示「請輸入6-20位元密碼」。如何讓它預設顯示“請輸入6-20位元密碼”,輸入後變成···············
#
你亂七八糟的屬性寫了一堆,唯獨沒寫placeholder。 。 。
placeholder="請輸入6-20位元密碼" , 把這個加到input去
你用js賦值給vulue當然會被顯示為*了,可以嘗試在input標籤加上placeholder
新版瀏覽器都支援placeholder,再設定css屬性讓文字灰色,不至於太黑。
使用placeholder
如果不需要考慮IE下的相容性問題,那麼最簡單的辦法就是placeholder
但是placeholder屬性相容性最高到IE10
所以如果需要考慮兼容IE10以下的瀏覽器的話 建議你看一下一個插件jquery-placeholder
行動端可以相容,如果pc端,可以下載外掛程式相容ie8-
下載位址:
連結描述
最簡單的是placeholder, 但是這個不相容IE,
相容性的方式是
寫一個em標籤(位置是input的兄弟節點) position 絕對定位到輸入框輸入的位置,
用JS 判斷控制是否有focus / blur/ keyin 的狀態來確認em標籤是否顯示