2010-05-06 43 views
30

Cho một <textarea> với một giá trị mặc định như sau:Làm thế nào để xóa văn bản trên nhấp chuột?

<textarea>Please describe why</textarea> 

Làm thế nào để bạn xóa các giá trị mặc định khi người dùng nhấp chuột để chỉnh sửa lĩnh vực này?

+4

Đó là một kế hoạch vui vẻ tốt! –

+0

tại sao tôi bị trừ? – Karem

+1

Có lẽ vì bạn không bao gồm mã ví dụ và cũng không hỏi một câu hỏi cụ thể (câu hỏi của bạn "chỉ đơn giản là một tuyên bố về mục tiêu của bạn, do đó nhận xét của @ Pekka). Tôi viết lại câu hỏi của bạn để bao gồm cả hai. – Dolph

Trả lời

36

JavaScript của bạn:

function clearContents(element) { 
    element.value = ''; 
} 

Và HTML của bạn:

<textarea onfocus="clearContents(this);">Please describe why</textarea> 

tôi giả sử bạn sẽ muốn làm điều này một chút mạnh mẽ hơn, để không lau đầu vào người sử dụng khi tập trung lần thứ hai. Herearefiverelateddiscussions & articles.

Và đây là (much better) idea rằng David Dorward đề cập đến trong ý kiến ​​trên:

<label for="explanation">Please describe why</label> 
<textarea name="explanation" id="explanation"></textarea> 
+1

Thuộc tính cho cần phải khớp với id, không phải là tên! (Nếu không, nó sẽ không tương thích với các nút radio) – Quentin

+1

+1 Công việc tuyệt vời, một câu trả lời tuyệt vời. –

+0

@ Dorav Dorward, bạn rất đúng, thưa bạn! Đã sửa. – Dolph

-2
<textarea onClick="javascript: this.value='';">Please describe why</textarea> 
+0

Tại sao trừ đi 1, nó làm những gì mà người đăng yêu cầu. – user318747

+2

Downvote không phải của tôi, nhưng giải pháp này xóa sạch trường văn bản * mỗi lần * người dùng nhấp vào nó. –

5

Hãy thử:

<input name="mytextbox" onfocus="if (this.value=='Please describe why') this.value = ''" type="text" value="Please Describe why"> 
+1

Đây không phải là vùng văn bản, vì vậy -1. Điều này chỉ xóa văn bản mẫu, vì vậy +1. –

4

Ý của bạn là như thế này cho textfield?

<input type="text" onblur="if(this.value == '') this.value='SEARCH';" onfocus="if(this.value == 'SEARCH') this.value='';" size="15" value="SEARCH" name="xSearch" id="xSearch"> 

Hoặc điều này cho văn bản?

<textarea id="usermsg" rows="2" cols="70" onfocus="if(this.value == 'enter your text here') this.value='';" onblur="if(this.value == '') this.value='enter your text here';" >enter your text here</textarea> 
+0

Tại sao tôi bị trừ? – tildy

+0

Phiên bản của tôi chỉ xóa giá trị mặc định. Giải pháp của Dolph xóa tất cả mọi thứ trong textfield/textarea, không chỉ giá trị mặc định. – tildy

0

Giải pháp tốt nhất những gì tôi biết cho đến nay:

<textarea name="message" onblur="if (this.value == '') {this.value = 'text here';}" onfocus="if (this.value == 'text here') {this.value = '';}">text here</textarea> 
35

Tại sao không chỉ cần sử dụng thuộc tính placeholder?

<textarea placeholder="Please describe why"></textarea> 

Điều này sẽ đặt văn bản phụ màu xám sẽ tự động biến mất khi người dùng nhấp vào trường văn bản. Ngoài ra, nó sẽ xuất hiện trở lại nếu nó mất tiêu điểm và vùng văn bản trống.

+5

Đây chỉ là HTML5. – harrymc

-1
<textarea name="post" id="post" onclick="if(this.value == 'Write Something here..............') this.value='';" onblur="if(this.value == '') this.value='Write Something here..............';" >Write Something here..............</textarea> 
+0

cách tốt nhất là – Heart

6

Đây là tập tin javascript của bạn:

function yourFunction(){ 
    document.getElementById('yourid').value = ""; 
}; 

Đây là tập tin html:

<textarea id="yourid" > 
    Your text inside the textarea 
    </textarea> 
    <button onClick="yourFunction();"> 
    Your button Name 
    </button> 
-1

jQuery thuộc tính val() nên thực hiện công việc. Bạn có thể làm $('#YourTextareaID').click(function(e) { e.target.value = ''; }).

+1

'val()' là thuộc tính jQuery, không phải JS thuần túy mà bạn cần đề cập đến. – william44isme

-1

Bạn có thể thử mã này,

<textarea name="textarea" cols="70" rows="2" class="searchBox" id="textarea" onfocus="if(this.value == 'Please describe why') this.value='';" onblur="if(this.value == '') this.value='Please describe why';">Please describe why</textarea> 
Các vấn đề liên quan