كيفية الوصول إلى السيطرة الحرفية في جافا سكريبت

StackOverflow https://stackoverflow.com/questions/2226864

  •  19-09-2019
  •  | 
  •  

سؤال

لدي رقابة حرفية على الصفحة (مع بعض البيانات عليها). أريد الوصول إليها في جافا سكريبت وتريد وضع بعض النصوص عليه. من فضلك قل لي كيف يمكنني الوصول إلى السيطرة الحرفية في جافا سكريبت. (أنا أستخدم ASP.NET)

الرمز الخاص بي في جافا سكريبت (ولكن لا يعمل):

 lths = document.getElementById("<%= lblhs.ClientID %>");
 lths.innerHTML = 'this is text line"
هل كانت مفيدة؟

المحلول

يمكنك العثور عليه باستخدام document.getElementById('<%= myControl.ClientID %>') أو إذا كنت تستخدم .NET 4.0، يمكنك ضبط حقل معرف مباشرة من قبل JavaScript. بدلا من ذلك يمكنك استخدام محددات jQuery. وبعد لا يعمل الكود الخاص بك لأن التحكم الحرفي لا يجعل كعنصر، نص ثابت فقط. يمكنك وضع فترة من حولها، أو استخدم عنصر تحكم تسمية، مما يجعله تمتد لك.

نصائح أخرى

لا أعتقد أنه يمكنك الوصول إلى عنصر تحكم حرفي من رمز عميل JavaScript الخاص بك لأن التحكم الحرفي فقط يجعله قيمة نقية دون أي علامات محيطة بها. لذلك ليس لديك حقا عنصر يمكنك الحصول عليه حسب المعرف.

ما يمكنك تغيير التحكم الحرفي إلى عنصر تحكم التسمية. هذا يجعل مثل علامة تمتد HTML افتراضيا. مثل هذا يمكنك تحديده على جانب العميل.

سيكون هناك خيار آخر هو كتابة علامة تمتد أو DIV في عنصر تحكمك الحرفي على جانب الخادم مثل هذا:

myLiteral.Text = "<div id=\"myDiv\">Some Text here</div>"

على العميل، يمكنك تحديد Elmnt باستخدام:

var myDiv = document.getElementById('myDiv');

فقط لاستبعاد الواضح (نظرا لاحق عدم ذكر أي شخص آخر)، فهذا خطأ بناء الجملة في JS:

lths.innerHTML = 'this is text line"

لست متأكدا مما إذا كان هذا خطأ في الكتابة هنا، أو إذا نسخته من التعليمات البرمجية الخاصة بك. يمكنك استخدام إما " أو ' ولكن ليس كلاهما لتحيط سلسلة. أيضا، يجب عليك استخدام إنهاء نصف كولون كأفضل الممارسات (على الرغم من أنه غير مطلوب).

lths.innerHTML = 'this is text line';

ال <%= myControl.ClientId %> تقنية لا تعمل عند استخدام الصفحات الرئيسية. قد تكون تلك هي القضية. ما يمكنك القيام به هو: خذ حقل مخفي. احفظ معرف التسمية في الحقل المخفي. الوصول إلى سمة القيمة للحصول على المعرف ثم استخدامها document.getElementByID('HiddenField.Value') للحصول على السيطرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top