programs - javascript pdf



मैं जावास्क्रिप्ट के साथ कैरेट में एक चरित्र कैसे सम्मिलित करूं? (4)

आपके अपडेट के प्रकाश में:

var inputs = document.getElementsByTagName('input');
var lastTextBox = null;

for(var i = 0; i < inputs.length; i++)
{
  if(inputs[i].getAttribute('type') == 'text')
  {
    inputs[i].onfocus = function() {
      lastTextBox = this;
    }
  }
}

var button = document.getElementById("YOURBUTTONID");
button.onclick = function() {
  lastTextBox.value += 'PUTYOURTEXTHERE';
}

https://src-bin.com

मैं एक बटन पर जावास्क्रिप्ट का उपयोग करते हुए कैरेट के भीतर पाठ बॉक्स में कुछ विशेष वर्ण डालना चाहता हूं। यह कैसे किया जा सकता है?

स्क्रिप्ट को सक्रिय टेक्स्टबॉक्स ढूंढने और उस टेक्स्टबॉक्स में कैरेट पर वर्ण डालने की आवश्यकता है। स्क्रिप्ट को IE और Firefox में भी काम करना चाहिए।

संपादित करें: पहले सक्रिय टेक्स्टबॉक्स में "आखिरी" वर्ण डालने के लिए भी ठीक है


Answer #1

आपके सभी इनपुट फ़ील्ड पर लूप ... फोकस वाले एक को ढूंढना .. फिर एक बार आपके पास अपना पाठ क्षेत्र है ... आपको कुछ ऐसा करने में सक्षम होना चाहिए ...

myTextArea.value = 'पाठ क्षेत्र में डालने के लिए पाठ यहाँ जाता है';


Answer #2

मुझे यकीन नहीं है कि आप कैरेट की स्थिति पर कब्जा कर सकते हैं, लेकिन यदि आप कर सकते हैं, तो आप पाठ बॉक्स के onblur ईवेंट का उपयोग करके स्थान (कैद के संबंध में) को कैप्चर करके जेसन कोहेन की चिंता से बच सकते हैं।


Answer #3

मुझे लगता है कि जेसन कोहेन गलत है फोकस खो दिया है जब कैरेट स्थिति संरक्षित है।

[ संपादित करें : फ़ायरफ़ॉक्स के लिए जोड़ा गया कोड जो मुझे मूल रूप से नहीं था।]

[ संपादित करें : हाल के सक्रिय टेक्स्ट बॉक्स को निर्धारित करने के लिए कोड जोड़ा गया।]

सबसे पहले, आप प्रत्येक पाठ बॉक्स के ब्लूर ईवेंट का उपयोग "वैसी" को एक चर सेट करने के लिए कर सकते हैं ताकि आपको हमेशा सबसे हाल ही में सक्रिय टेक्स्ट बॉक्स पता हो।

फिर, कर्सर की स्थिति प्राप्त करने का एक IE तरीका है जो ओपेरा में भी काम करता है, और फ़ायरफ़ॉक्स में एक आसान तरीका है।

IE में बुनियादी अवधारणा दस्तावेज का उपयोग करना है। चयन ऑब्जेक्ट और चयन में कुछ पाठ डाल दिया है । उसके बाद, IndexOf का उपयोग करके, आप जो पाठ जोड़ रहे हैं उसकी स्थिति प्राप्त कर सकते हैं।

फ़ायरफ़ॉक्स में, चयन विधि नामक एक विधि है जो आपको कर्सर की स्थिति देगा।

एक बार आपके पास कर्सर की स्थिति है, तो आप पूरे पाठ को पुनः लिखते हैं। मूल्य के साथ

कर्सर की स्थिति से पहले पाठ + पाठ जो आप सम्मिलित करना चाहते हैं + कर्सर स्थिति के बाद पाठ

यहां IE और फ़ायरफ़ॉक्स के लिए अलग लिंक के साथ एक उदाहरण है। आप कौन सी कोड को चलाने के लिए पता लगाने के लिए पसंदीदा ब्राउज़र पहचान पद्धति का उपयोग कर सकते हैं।

<html><head></head><body>

<script language="JavaScript">
<!--

var lasttext;

function doinsert_ie() {
    var oldtext = lasttext.value;
    var marker = "##MARKER##";
    lasttext.focus();
    var sel = document.selection.createRange();
    sel.text = marker;
    var tmptext = lasttext.value;
    var curpos = tmptext.indexOf(marker);
    pretext = oldtext.substring(0,curpos);
    posttest = oldtext.substring(curpos,oldtext.length);
    lasttext.value = pretext + "|" + posttest;
}

function doinsert_ff() {
    var oldtext = lasttext.value;
    var curpos = lasttext.selectionStart;
    pretext = oldtext.substring(0,curpos);
    posttest = oldtext.substring(curpos,oldtext.length);
    lasttext.value = pretext + "|" + posttest;
}

-->
</script>


<form name="testform">
<input type="text" name="testtext1" onBlur="lasttext=this;">
<input type="text" name="testtext2" onBlur="lasttext=this;">
<input type="text" name="testtext3" onBlur="lasttext=this;">

</form>
<a href="#" onClick="doinsert_ie();">Insert IE</a>
<br>
<a href="#" onClick="doinsert_ff();">Insert FF</a>
</body></html>

यह टेक्स्टरेस के साथ भी काम करेगा। मुझे नहीं पता कि कर्सर को कैसे स्थानांतरित करना है ताकि वह सम्मिलन बिंदु पर रहे।






javascript