"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استرداد النص المحدد من عنصر تحكم TextBox باستخدام JavaScript؟

كيفية استرداد النص المحدد من عنصر تحكم TextBox باستخدام JavaScript؟

تم النشر بتاريخ 2024-11-14
تصفح:186

How to Retrieve Selected Text from a TextBox Control Using JavaScript?

الحصول على نص محدد من عنصر تحكم TextBox باستخدام JavaScript

عند العمل مع مربعات النص، قد تواجه الحاجة إلى استرداد النص المحدد. تهدف هذه المقالة إلى توفير حل شامل لهذه المهمة، ومعالجة المشكلات التي تمت مواجهتها مع Internet Explorer 6.

يمكن تحديد النص داخل مربع النص باستخدام خصائص JavaScript المضمنة. بالنسبة للمتصفحات المتوافقة مع المعايير، توفر خصائص التحديدStart و SelectionEnd نطاق النص المحدد. ومع ذلك، بالنسبة لبرنامج Internet Explorer، من الضروري إيجاد حل بديل باستخدام كائن التحديد.

function ShowSelection() {
  var textComponent = document.getElementById('Editor');
  var selectedText;

  if (textComponent.selectionStart !== undefined) { 
    // Standards-compliant version
    var startPos = textComponent.selectionStart;
    var endPos = textComponent.selectionEnd;
    selectedText = textComponent.value.substring(startPos, endPos);
  } else if (document.selection !== undefined) {
    // Internet Explorer version
    textComponent.focus();
    var sel = document.selection.createRange();
    selectedText = sel.text;
  }

  alert("You selected: "   selectedText);
}

في البداية، ظهرت مشكلة في Internet Explorer 6، تمنع الكود أعلاه من العمل بشكل صحيح. لمعالجة هذه المشكلة، تتم إضافة استدعاء focus() قبل الوصول إلى كائن التحديد. بالإضافة إلى ذلك، فإن إرفاق الدالة ShowSelection() بحدث onkeydown يوفر حلاً مستقرًا لاكتشاف النص المحدد.

document.onkeydown = function (e) {
  ShowSelection();
};

لمزيد من التوضيح، تنبع مشكلة الأزرار من سلوكها المتأصل المتمثل في إلغاء تحديد النص في Internet Explorer. ولذلك، يوصى باستخدام زر إدخال بسيط بدلاً من ذلك. من خلال تنفيذ هذا الحل، يمكنك استرداد النص المحدد بشكل فعال من عنصر تحكم مربع النص، والتغلب على التحديات التي تواجهها مع Internet Explorer 6.

بيان الافراج يتم استنساخ هذه المقالة في: 1729733011 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3