2012-11-22 14 views
44

मैं इनपुट तत्व के प्लेसहोल्डर टेक्स्ट को कैसे बदल सकता हूं?प्लेसहोल्डर टेक्स्ट बदलें

उदाहरण के लिए मेरे पास टाइप प्रकार के 3 इनपुट हैं।

<input type="text" name="Email" placeholder="Some Text"> 
<input type="text" name="First Name" placeholder="Some Text"> 
<input type="text" name="Last Name"placeholder="Some Text"> 

मैं जावास्क्रिप्ट या jQuery का उपयोग कर कुछ पाठ पाठ को बदल सकते हैं कैसे? मुझे वास्तव में मेरी समस्या को हल करने के लिए इसे समझने की जरूरत है।

+8

क्या आपने '$ ('इनपुट') का प्रयास किया था। Attr ('प्लेसहोल्डर', 'कुछ नया टेक्स्ट');'? – Jeemusu

+1

क्या आपने जावास्क्रिप्ट या jquery के साथ कुछ भी करने की कोशिश की है? कृपया जो आपने कोशिश की है उसे पोस्ट करें और आपके सामने आने वाले मुद्दों क्या हैं। – ryadavilli

+0

आप malarkey –

उत्तर

87

आप getElementsByName() उपयोग कर सकते हैं विधि input क्षेत्रों का चयन करने के लिए और हर एक के लिए placeholder बदलने के लिए ... नीचे दिए गए कोड को देखने के ...

document.getElementsByName('Email')[0].placeholder='new text for email'; 
document.getElementsByName('First Name')[0].placeholder='new text for fname'; 
document.getElementsByName('Last Name')[0].placeholder='new text for lname'; 
+21

+1 ... लोगों को डीओएम एपीआई पर ध्यान देना होगा, आपको बस कुछ सरल करने के लिए पूरी पुस्तकालय का उपयोग करने की आवश्यकता नहीं है। –

+0

अक्सर फ़ील्ड में पहले से ही एक मान होता है, इसलिए प्लेसहोल्डर दिखाई नहीं देगा। आपको मूल्य साफ़ करना होगा। 'var ईमेल = document.getElementsByName (" ईमेल ") [0];' 'email.value = '';' 'email.placeholder = 'ईमेल के लिए नया टेक्स्ट';' – askrynnikov

4

का उपयोग jQuery आप निम्नलिखित कोड करके ऐसा कर सकते:

<input type="text" id="tbxEmail" name="Email" placeholder="Some Text"/> 

$('#tbxEmail').attr('placeholder','Some New Text'); 
25

यह समाधान jQuery का उपयोग करती। आप सभी पाठ इनपुट के लिए एक ही प्लेसहोल्डर पाठ का उपयोग करना चाहते हैं, तो आप

$('input:text').attr('placeholder','Some New Text'); 

उपयोग कर सकते हैं और अगर आप अलग प्लेसहोल्डर चाहते हैं, आप तत्व की आईडी का उपयोग बदलने के लिए कर सकते हैं प्लेसहोल्डर

$('#element1_id').attr('placeholder','Some New Text 1'); 
$('#element2_id').attr('placeholder','Some New Text 2'); 
+0

हाँ का उपयोग कर सकते हैं !!! यह काम! बाहरी पुस्तकालयों का उपयोग किए बिना देशी जाने के लिए – visual

4

मैं f दिया है एक ही समस्या एसींग।

जेएस में, पहले आपको टेक्स्ट इनपुट के टेक्स्टबॉक्स को साफ़ करना होगा। अन्यथा प्लेसहोल्डर टेक्स्ट नहीं दिखाया जाएगा।

मेरा समाधान यहां है।

document.getElementsByName("email")[0].value=""; 
document.getElementsByName("email")[0].placeholder="your message"; 
+0

यह सही है। फ़ील्ड को रिक्त स्थान पर सेट किए बिना, प्लेसहोल्डर दिखाई नहीं देता है। इस पोस्ट पर टक्कर लगी जब तक इस पर एक लंबा समय बिताया। – User12345

5
var input = document.getElementById ("IdofInput"); 
input.placeholder = "No need to fill this field"; 

आप placeholder यहाँ के बारे में और अधिक जानकारी प्राप्त कर सकते हैं: http://help.dottoro.com/ljgugboo.php

0

इनपुट के प्लेसहोल्डर विशेषता पहुंच बनाने का प्रयास करता है और निम्नलिखित की तरह अपने मूल्य बदलने के लिए:

$('#some_input_id').attr('placeholder','New Text Here'); 

कर सकते हैं यह भी स्पष्ट प्लेसहोल्डर यदि आवश्यक हो तो:

$('#some_input_id').attr('placeholder',''); 
संबंधित मुद्दे