2009-12-15 11 views
7

मैं जानना चाहता हूं कि पेज लोड होने पर टेक्स्ट को टेक्स्टबॉक्स में कैसे रखा जाए। उदाहरण: यदि मेरे पास लॉगिन पृष्ठ है, तो मेरे पास "उपयोगकर्ता नाम" और "पासवर्ड" नामक 2 टेक्स्टबॉक्स होंगे। जब पृष्ठ लोड होता है तो मैं टेक्स्टबॉक्स को "उपयोगकर्ता नाम" के साथ लोड करना चाहता हूं, इसलिए मुझे उस के लिए एक लेबल नहीं रखना होगा। लेकिन जब उपयोगकर्ता टेक्स्टबॉक्स के अंदर क्लिक करता है तो उसे विच्छेदन करना चाहिए। मैं यह कैसे करु?टेक्स्टबॉक्स के लिए जावास्क्रिप्ट "वॉटरमार्क"

+0

http://stackoverflow.com/a/16471949/1257652 –

उत्तर

19
<input name="q" onfocus="if (this.value=='search') this.value = ''" type="text" value="search"> 
स्टैक ओवरफ़्लो खोज बॉक्स से

...।


तुम भी जाँच करने के लिए onblur घटना जोड़ सकते हैं: if (this.value=='') this.value = 'search'

यह होता वॉटरमार्क फिर से प्रिंट जब और पाठ बॉक्स के बाहर उपयोगकर्ता क्लिक फ़ील्ड रिक्त है।

+2

सादगी के लिए +1 का उपयोग करने के लिए है। – Brandon

+2

मैं टेक्स्ट को और अधिक भूरे रंग का बना दूंगा और काला नहीं – Faruz

4

ऐसा करने के तरीके पर बहुत सारे ट्यूटोरियल हैं। JQuery जावास्क्रिप्ट ढांचे का उपयोग कर Here's one walkthrough

इसके बारे में another popular blog post इसके बारे में नियमित जावास्क्रिप्ट का उपयोग कर रहा है।

0

जे एस:

function clearDefault(ctl){ 
     if(ctl.value==ctl.defaultValue) { ctl.value = ""; } 
    } 

अपने पाठ बॉक्स में onfocus="clearDefault(this)" शामिल हैं और "उपयोगकर्ता नाम" या "पासवर्ड" करने के लिए अपने पाठ निर्धारित किया है।

+0

'ऑनफोकस' विशेषता का उपयोग न करें। –

+2

के बजाय ईवेंट का उपयोग करें 'ऑनफोकस' (साथ ही 'onblur') विशेषताएँ अनिवार्य रूप से ईवेंट हैं। उनके मूल्य घटना के लिए एक समारोह के शरीर के बराबर हैं। इसलिए 'ऑनफोकस' के लिए 'clearDefault (this) 'अनिवार्य रूप से यह आपके' फोकस 'ईवेंट हैंडलर के रूप में बाध्य है: ' फ़ंक्शन() {clearDefault (यह); } ' –

4

laymen संदर्भ में:

  • जब इनपुट पर ध्यान केंद्रित कर, अगर मूल्य है "उपयोगकर्ता नाम" तो यह करने के लिए सेट ""
  • जब बॉक्स के फोकस को हटाने, यदि मान है "" (यानी कुछ भी नहीं दर्ज किया गया था), इसे रीसेट "उपयोगकर्ता नाम" अभी भी उपयोगकर्ता के लिए प्रतिक्रिया देने के लिए करने के लिए, क्योंकि वे अभी तक डेटा

कोड दर्ज नहीं किया है:

<input value="Username" onfocus="if(this.value=='Username') this.value = ''" onblur="if(this.value=='') this.value = 'Username'" type="text" /> 
5

एक और अधिक आधुनिक तरीका "प्लेसहोल्डर"

<input type="text" placeholder="search" /> 
+0

यह सुरुचिपूर्ण है! – theblackpearl

संबंधित मुद्दे