2011-11-04 89 views
0

我在我的頁面上有一個簡單的文本字段,初始文本值爲'輸入您的電子郵件'。頁面加載時,我會自動將焦點設置到該框,使用以下:焦點文本字段,頁面加載,文本刪除,類型

<body onLoad="document.emvForm.EMAIL_FIELD.focus()"> 

我想,這樣當用戶開始鍵入入禁區作,它會清除文本,而不是清除焦點上的文字。

我該怎麼辦?

回答

1

嘗試以下操作:

<input type="text" id="textField" /> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     // Set Text to be Default // 
     var txtVal = 'Enter Your Email Address'; 
     $('#textField').val(txtVal).focus(); 

     // On Focus // 
     $('#textField').focus(function(){ 
      if ($(this).val() == txtVal) $(this).val(''); 
     }); 

     // on Blur // 
     $('#textField').blur(function(){ 
      if ($(this).val() == '') $(this).val(txtVal); 
     }); 
    }); 
</script> 

這裏的小提琴:http://jsfiddle.net/wpZ8n/

我希望這有助於!

+0

他想讓我的簡單文本字段 - 設置爲專注於頁面加載 – Faraona

+0

這將隱藏文本時,該框有焦點,他不只是要求隱藏時有信息輸入? – adriaanp

+0

這將隱藏焦點上的文本,只有在沒有信息輸入時纔會恢復爲默認文本,這是我相信他所要求的。 – dSquared

-3

使用jQuery

<input class="em" type="text" name="email" value="Enter your Email"/> 

$(document).ready(function() { 
    $(function() { 
     $(".em").focus(); 
    }); 

    $(".em").keypress(function() { 
      var val = $(this).val(); 
      if (val == 'Enter your Email') { 
       $(this).val('') 
      } 
    }); 
}); 
+2

即使某人輸入了某些內容,您的函數仍會將輸入字段留空;不只是默認消息。 – dSquared

+0

當用戶開始輸入時,他希望文本消失,如果您選中該輸入,則不會清除文本框 – adriaanp

+0

請嘗試此操作。對不起,我不先測試;) – Faraona

0

你會不得不使用的簡單的文本字段的頂部<span><label>你的位置,然後監控如果任何文本已經在輸入字段中輸入。如果是這樣隱藏<span><label>

0

在現代(兼容HTML5)的瀏覽器,這個功能可以通過簡單地使用placeholder屬性添加,如下圖所示:

<input type="text" placeholder="Enter your Email" /> 

現代瀏覽器,不幸的是,不包括IE9。在這個答案

https://github.com/mathiasbynens/jquery-placeholder

(信用答案:Placeholder in IE9,其中還列出了其他的各種方式,以使在IE9和之前這項工作,你可以使用下面的腳本(作爲一個例子)在IE中做,並給出答案比較)

相關問題