لتحديد عدد الأسطر في textarea في HTML، يمكنك استخدام JavaScript لتحقيق ذلك. في البداية، يجب عليك إنشاء textarea وإضافة السمة oninput
لتحديد عدد الأسطر في النص. ثم، تحتاج إلى استخدام دالة JavaScript لحساب عدد الأسطر وتطبيق الحدود التي تريدها. اليك كيف يمكنك القيام بذلك:
htmlhtml>
<html>
<head>
<title>تحديد عدد الأسطر في textareatitle>
head>
<body>
<textarea id="text" rows="10" cols="50" oninput="limitLines(event)">textarea>
<p>عدد الأسطر المتبقية: <span id="remaining-lines">40span>p>
<script>
function limitLines(event) {
var textarea = event.target;
var lines = textarea.value.split('\n').length;
var maxLines = 40;
if (lines > maxLines) {
textarea.value = textarea.value.substr(0, textarea.value.length - 1);
return false;
}
document.getElementById('remaining-lines').innerText = maxLines - lines;
}
script>
body>
html>
هذا الكود يعمل على تحديد عدد الأسطر في textarea ويمنع إضافة المزيد من الأسطر بمجرد الوصول إلى الحد الأقصى المسموح به (40). إذا كان هناك أي استفسار إضافي، فلا تتردد في طرحه.
-
تألق في تصميم الواجهة باستخدام CSS الابتكاري27/01/2024
-
تحليل مزايا Immutable.js22/03/2024
المزيد من المعلومات
لتحقيق مستوى متقدم من التحكم في مدخلات المستخدم داخل عنصر textarea
، خاصةً فيما يتعلق بتقييد النص من حيث عدد الأحرف والأسطر، يُعد تطبيق منطق برمجي معقد نسبيًا باستخدام JavaScript أمرًا ضروريًا. سيتم الآن توسيع النقاش ليشمل جوانب تقنية تتعلق بالتعامل مع النصوص الملصقة والتفاعلات المعقدة داخل textarea
.
فهم المتطلبات
- تحديد الأحرف: الهدف هو السماح بما يصل إلى 2000 حرف.
- تحديد الأسطر: الهدف هو السماح بما يصل إلى 40 سطرًا.
- تعامل مع اللصق: يجب التعامل مع النص الملصق بطريقة تضمن عدم تجاوز الحدود الموضوعة للأحرف والأسطر.
تطبيق التقييدات باستخدام JavaScript
لتحقيق هذه المتطلبات، يمكن تعديل الدالة limitLines
لتشمل الشروط الإضافية والتعامل مع النص الملصق.
خطوات تحسين الدالة:
- تحليل النص: تقسيم النص إلى أسطر وتحديد عددها.
- تحديد الأحرف: التحقق من إجمالي عدد الأحرف وتطبيق القيود.
- التعامل مع اللصق: استخدام حدث
onpaste
لمعالجة النصوص الملصقة.
مثال محسن:
html<textarea id="text" rows="10" cols="50" oninput="checkInput()" onpaste="handlePaste(event)">textarea>
<script>
function checkInput() {
var textarea = document.getElementById('text');
var lines = textarea.value.split('\n');
var maxLines = 40;
var maxChars = 2000;
// تقليم الأسطر الزائدة
if (lines.length > maxLines) {
textarea.value = lines.slice(0, maxLines).join('\n');
}
// تقليم الأحرف الزائدة
if (textarea.value.length > maxChars) {
textarea.value = textarea.value.substr(0, maxChars);
}
}
function handlePaste(e) {
var pastedText = (e.clipboardData || window.clipboardData).getData('text');
var textarea = document.getElementById('text');
var currentText = textarea.value;
var maxChars = 2000;
// حساب الحد الأقصى للأحرف بعد اللصق
if (currentText.length + pastedText.length > maxChars) {
e.preventDefault(); // منع اللصق
var allowedLength = maxChars - currentText.length;
var allowedText = pastedText.substr(0, allowedLength);
textarea.value += allowedText;
}
// يتم استدعاء checkInput للتحقق من الحد الأقصى للأسطر
checkInput();
}
script>
الخلاصة
من خلال تطبيق هذه الأساليب، يمكنك ليس فقط تقييد مستخدمي النموذج من تجاوز حد الأحرف والأسطر المحدد مسبقًا ولكن أيضًا التأكد من أن البيانات المدخلة تظل ضمن الإطار المرغوب فيه حتى عند لصق النصوص الطويلة. هذا يضمن تجربة مستخدم محسنة ويحافظ على تنظيم المحتوى المعروض على صفحتك بشكل أنيق ومتسق.