2010-07-15 9 views
120

मैं अपने f.text_field फ़ील्ड में placeholder टेक्स्ट कैसे जोड़ सकता हूं ताकि पाठ डिफ़ॉल्ट रूप से पूर्व-लिखित हो, और जब कोई उपयोगकर्ता फ़ील्ड के अंदर क्लिक करता है, तो पाठ दूर हो जाता है - उपयोगकर्ता को नए टेक्स्ट में टाइप करने की इजाजत मिलती है?रेल पर रूबी: मैं प्लेसहोल्डर टेक्स्ट को f.text_field में कैसे जोड़ूं?

f.text_field :password, :value => "password" 

अपने जावास्क्रिप्ट में (यह मानते हुए jQuery यहाँ):

+3

मैं सुझाव देता हूं कि मेरे बजाय nslocum का जवाब जोड़ना। वह रेल के लिए सही है 3. –

+0

एचटीएमएल 5 इसका समर्थन करता है। इस बीच, [जावास्क्रिप्ट समाधान] हैं (http://www.htmlcenter.com/blog/form-input-placeholder-text/)। – ghoppe

उत्तर

240
रेल> = 3.0 के साथ

, तो आप बस placeholder विकल्प का उपयोग कर सकते हैं ।

f.text_field :attr, placeholder: "placeholder text" 
+4

"प्लेसहोल्डर" विशेषता केवल HTML5 समर्थन ब्राउज़र द्वारा समर्थित है, जो इंटरनेट एक्सप्लोरर जैसे ब्राउज़र छोड़ती है। –

+1

jQuery फिक्स के लिए सही यूआरएल http://www.hagenburger.net/BLOG/HTML5- इनपुट- प्लेसहोल्डर- फ़िक्स- विथ-jQuery.html – szeryf

+0

यह रेल 2 के लिए कैसे काम करेगा? – KDP

0

आपके विचार टेम्पलेट में, डिफ़ॉल्ट मान सेट

$(document).ready(function() { 
    //add a handler to remove the text 
}); 
+1

हफिंगटन पोस्ट का खोज क्षेत्र इनपुट तत्व के अंदर जेएस के इस बिट का उपयोग करता है: 'onfocus = "अगर (this.value ==' खोज हफ़िंगटन पोस्ट ') this.value =' '' value =" हफ़िंगटन पोस्ट खोजें " एक अच्छा दृष्टिकोण की तरह लगता है। – Nathan

28

में रेल 4 (का उपयोग करते हुए Haml):

=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name' 
1

यहाँ अगर rails 4+

<%= f.text_field :attr, placeholder: "placeholder text" %> 

का उपयोग कर तो rails 4+ अब हैश वाक्य रचना के बजाय इस वाक्य विन्यास का उपयोग कर सकते हैं एक बहुत क्लीनर वाक्य रचना है

+1

स्वीकृत @nslocum उत्तर से यह अलग कैसे है? – mlt

11

रेल (4.2) अंतर्राष्ट्रीयकरण (I18n) का उपयोग करने वालों के लिए:

सेट सच करने के लिए प्लेसहोल्डर विशेषता:

f.text_field :attr, placeholder: true 

और अपने स्थानीय फ़ाइल में (यानी। en.yml):

en: 
    helpers: 
    placeholder: 
     model_name: 
     attr: "some placeholder text" 
+0

धन्यवाद कि काम किया। मैंने 'प्लेसहोल्डर: सत्य' सेट नहीं किया था। यह निर्धारित करने के बाद कि आपने वर्णन किया है कि यह काम करता है। – Hendrik

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