2012-11-14 64 views
5

एचटीएमएलjQuery .focus() सब पहले से भरे पाठ

<input id="formloginusername" type="text" name="username" placeholder="Username" value="Pre-filled-from-database"></input> 

जे एस पर प्रकाश डाला गया है पर प्रकाश डाला। मैं केवल कर्सर को फ़ील्ड में दिखाना चाहता हूं जैसे कि उपयोगकर्ता ने भरने वाले टेक्स्ट के बाद इसे क्लिक किया हो।

धन्यवाद!

+1

यह ब्राउज़र डिफ़ॉल्ट व्यवहार होगा। – adeneo

+0

मैं एडेनो के साथ सहमत हूं, इसके अलावा, आपको इस तरह के इनपुट पर एक करीबी टैग डालने की आवश्यकता नहीं है ... इसके बजाय, इस इनपुट इनपुट को बंद करें <इनपुट आईडी = "formloginusername" type = "text" name = "उपयोगकर्ता नाम" प्लेसहोल्डर = "उपयोगकर्ता नाम" मान = "प्री-भरे-डेटाबेस से" /> – VIDesignz

उत्तर

14

यहाँ एक गंधा छोटे चाल है ...

$(document).ready(function() { 
    var $field = $("#formloginusername"), 
     oldVal = $field.val(); 
    $field.focus().val('').val(oldVal); 
}); 

डेमो: http://jsfiddle.net/X7Y8S/

+1

बिल्कुल सही! धन्यवाद! – GiantDuck

+0

यह एक शानदार उदाहरण है, धन्यवाद। प्रश्न यह है: तो अब आप अपने पेज पर जाते हैं और यह ध्यान केंद्रित करता है, लेकिन एक उपयोगकर्ता के रूप में कहें जिसे आप लिखना शुरू करते हैं: यह पाठ को साफ़ नहीं करता है, यह बस इसमें जोड़ता है। मैं तुम्हारा मान 'यहां खोजो!' आप 'कॉलेज गणित किताबें' टाइप करते हैं, यह 'यहां खोज करें! कॉलेज गणित किताबें'। इससे कैसे बचें? संपादित करें: $ ("input.search-input-header") [0] .reset(); ठीक काम करता है, लेकिन केवल तभी क्लिक करें। आपके पास फोकस सेट कैसे है और जब आप लिखना शुरू करते हैं तो यह साफ़ हो जाता है? – DnfD

+1

@ डेविडपार्डी - यदि आप पुराने ब्राउज़र के बारे में चिंतित नहीं हैं, तो मेरा मानना ​​है कि आप 'प्लेसहोल्डर' विशेषता के डिफ़ॉल्ट व्यवहार का वर्णन कर रहे हैं। '<इनपुट प्रकार =" पाठ "प्लेसहोल्डर =" यहां खोजें! " /> ' – ahren

0

बस यह कर देगा:

$('#field').focus().val($("#field").val()); 
0

Hopstream, मैं क्रोम में क्या मिला का उपयोग कर अपने विधि है पाठ के अंत में कर्सर समाप्त हो गया। मुझे टेक्स्ट को हाइलाइट किए बिना फ़ील्ड की शुरुआत पर कर्सर को केंद्रित करने के लिए एक तरीका चाहिए। । यह मेरे लिए काम किया:

$ ('# ElementID') प्रत्येक (function() { $ (this) .focus(); this.selectionEnd = this.selectionStart; });