本文實例介紹了點選文字方塊清除預設文字離開再恢復的js實例程式碼,分享給大家供大家參考,具體內容如下
相關知識:
1、onclick事件的定義與用法:
當點擊物件的時候會觸發此事件。
瀏覽器支援:
1)、IE瀏覽器支援此事件。
2)、火狐瀏覽器支援此事件。
3)、Opera瀏覽器支援此事件。
4)、谷歌瀏覽器支援此事件。
5)、safria瀏覽器支援此事件。
實例代碼:
<html> <head> <meta charset="gb2312"/> <title>脚本之家</title> <style type="text/css"> div{ width:100px; height:100px; background-color:red; } </style> <script type="text/javascript"> window.onload=function(){ var mydiv=document.getElementById("mydiv"); mydiv.onclick=function(){ mydiv.style.backgroundColor="green"; } } </script> </head> <body> <div id="mydiv"></div> </body> </html>
以上程式碼為div註冊onclick事件處理函數,當點擊div的時候就會執行此處理函數將div的背景顏色設定為綠色。
2、onblur事件的定義與用法:
當指定物件失去焦點時就會觸發此事件。
實例代碼:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>脚本之家</title> <style type="text/css"> .mytest{ background-color:green; } </style> <script type="text/javascript"> window.onload=function(){ var username=document.getElementById("username"); username.focus(); username.onblur=function(){ username.style.backgroundColor="green"; } } </script> </head> <body> <input type="text" name="username" id="username" /> </body> </html>
以上程式碼為input元素的onblur事件綁定事件處理函數,當input元素失去焦點的時候,能夠將背景顏色設定為綠色。
接下來是重中之重:點選文字方塊清除預設文字離開再恢復
很多網站的需要填寫的文字框在預設狀態下都會給出一個預設的提示語言,當滑鼠點擊此文字框的時候能夠將裡面的預設文字清除,當刪除輸入的文字且焦點離開文字框的時候再將預設的文字寫入文字方塊。
程式碼如下:
<html> <head> <meta charset="gb2312"> <title>点击文本框清除默认值</title> <script type="text/javascript"> window.onload=function() { var username=document.getElementById("username"); username.onclick=function() { if(username.value=="请输入您的姓名") { username.value=""; this.focus(); } } username.onblur=function() { if(username.value=="") { username.value="请输入您的姓名"; } } } </script> </head> <body> <input type="text" value="请输入您的姓名" id="username" /> </body> </html>
以上程式碼實現了我們的要求,當點擊文字方塊的時候能夠清除文字方塊中的內容,如果文字方塊沒有輸入任何內容,這個時候滑鼠焦點離開文字方塊的時候,會將文字方塊的值恢復到預設狀態。不過如果密碼框肯恩有點麻煩,因為密碼框並非顯示的明文,解決方案可以參考如何實現在密碼框如出現提示語下段內容。
如何實作在密碼框如出現提示語:
有時候我們需要在登陸表單有一些提示語言,比如“請輸入用戶民”和“請輸入密碼”等語言,至於用戶名好說,但是在密碼框中出現“請輸入密碼”這樣的語言就有點麻煩了,因為在密碼框輸入的內容不會以明碼顯示。如果動態的控制type屬性的話就有相容性問題,如果input已經存在於頁面中的話,在IE8和IE8以下瀏覽器中,type屬性是唯讀的。所以就得想其他辦法,程式碼如下:
<html> <head> <meta charset="gb2312"> <title脚本之家</title> <style type="text/css"> #tx{ width:100px; } #pwd{ display:none; width:100px; } </style> <script type="text/javascript"> window.onload=function(){ var tx=document.getElementById("tx"); var pwd=document.getElementById("pwd"); tx.onfocus=function(){ if(this.value!="密码") return; this.style.display="none"; pwd.style.display="block"; pwd.value=""; pwd.focus(); } pwd.onblur=function(){ if(this.value!=""){ return; } this.style.display="none"; tx.style.display=""; tx.value="密码"; } } </script> </head> <body> <input type="text" value="密码" id="tx"/> <input type="password" id="pwd" /> </body> </html>
以上程式碼實現了我們的要求,可以出現明碼的提示,當輸入密碼的時候就是以密碼方式輸入。
實現的原理非常的簡單,在預設狀態以type="text"文字方塊顯示,當點擊文字方塊的時候,以type="password"密碼框顯示,原來顯示的文字方塊隱藏,也就是說做了一個替換而已。
以上就是本文的全部內容,希望對大家的學習javascript程式設計有所幫助。