लगता है जैसे आप प्लेसहोल्डर टेक्स्ट चाहते हैं। एचटीएमएल 5 में आप input
तत्व पर placeholder
विशेषता सेट कर सकते हैं। यह आधुनिक ब्राउज़रों में काम करेगा।
<input type="email" placeholder="[email protected]" name="reg_email" />
अब, पुराने ब्राउज़र के लिए यह काम नहीं करेगा। एक ही UI मान प्रदान करने के लिए आपको एक जावास्क्रिप्ट विकल्प की आवश्यकता होगी।
यह सभी ब्राउज़रों के लिए काम कर सकते हैं:
<input type="text" value="Search" onfocus="if (this.value == 'Search') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search';}">
लेकिन यह सिफारिश नहीं कर रहा है एक बेहतर तरीका (वास्तव में, यह पहली दो दृष्टिकोण का एक संयोजन है) है, क्योंकि: नए ब्राउज़र के लिए उपयोग एचटीएमएल 5 मार्कअप; पुराने ब्राउज़र के लिए jQuery और modernizr। इस तरह आप कोड का केवल एक सेट प्राप्त कर सकते हैं जो सभी उपयोगकर्ता मामलों का समर्थन करेगा।
webdesignerwall.com से सीधे लिया गया:
<script src="jquery.js"></script>
<script src="modernizr.js"></script>
<script>
$(document).ready(function(){
if(!Modernizr.input.placeholder){
$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
}
</script>
[आप दोनों jquery.js और modernizr.js अपने वेबपेज के रूप में ही फ़ोल्डर में स्थापित की आवश्यकता होगी।]
नोट: मुझे लगता है कि थोड़ा और शोध बता सकता है कि इस के लिए आधुनिकता की आवश्यकता नहीं है, हालांकि मैं उस विशेष बिंदु के बारे में गलत हो सकता हूं।
स्रोत
2011-09-17 07:45:47
आप किस तकनीक का उपयोग कर रहे हैं? (एचटीएमएल फॉर्म, विंडोज कंट्रोल, क्यूटी,?) – Mat
क्षमा करें मैं सटीक भूल गया, मैं एचटीएमएल फॉर्म का उपयोग कर रहा हूं। – jaydee