Вопрос по html, javascript, textbox – Ограничение символов на строку в текстовой области

6

Все выходные я искал решение этой проблемы, но пока не нашел правильного решения. Я пытаюсь добиться того, чтобы ограничить количество символов в строке в текстовой области - не ограничивая их одинаково, а выбрав другое количество символов в строке по своему выбору.

For Example:

  1. I want to have only 4 lines in my textarea
  2. Line 1,2 and 3 will be limited to 24 characters
  3. Line 4 will have an unlimited number of characters

Это возможно с textarea, или есть другой способ сделать я с Div или что-то. Я действительно понимаю, что это, по всей вероятности, уже рассматривалось ранее, но найти реальный рабочий сценарий, который охватывает этот критерий, оказалось чрезвычайно сложно, и у меня нет такого умения, которое требуется для достижения этих результатов.

Спасибо

Хорошо, он отлично работает с оператором auto-tab в моем обработчике onkeyup. Теперь мне нужно разобраться со значением копирования. MrMage
Если вы спросите, возможно ли это, вероятно. а что ты пробовал? Joseph
Я пробовал несколько сценариев, но они были довольно старыми и поэтому просто ограничивали бы первую строку и выдавали предупреждения и ошибки при попытке перейти на вторую строку. Я предпочитаю, что Райан, пока лучшее предложение ... Я попробую. Спасибо MrMage
Какое влияние вы пытаетесь достичь? если они не все должны быть подключены, используйте 4 входа, вы можете ограничить их, как хотите. Вы могли бы даже подделать с CSS 4 входами, которые выглядят как один и кажется лучшим решением Ryan
Вы можете разбить на разрыв строки и определить количество символов. Но проблема в том, что вы не можете контролироватьlines допустим, это продиктовано размером шрифта, межбуквенным интервалом и т. д. Одна строка на одном компьютере в определенной ОС может отличаться от одной строки на другом компьютере с другой ОС. Пример Райана - лучшая идея. Christian Varga

Ваш Ответ

1   ответ
6

4 lines in the textarea (Limit this on the textarea itself with rows="4") Lines 1, 2, and 3 are limited to 24 characters Line 4 will have an unlimited number of characters

Snapshot of the textarea:

123456789012345678901234
123456789012345678902333
232323232323232323323232
23232323232323232323236464536543654643

JavaScript:

$('#your-input').keypress(function() {
     var text = $(this).val();
     var arr = text.split("\n");

     if(arr.length > 5) {
         alert("You've exceeded the 4 line limit!");
         event.preventDefault(); // prevent characters from appearing
     } else {
         for(var i = 0; i < arr.length; i++) {
             if(arr[i].length > 24 && i < 3) {
                 alert("Length exceeded in line 1, 2, or 3!");
                 event.preventDefault(); // prevent characters from appearing
             }
         }
     }

     console.log(arr.length + " : " + JSON.stringify(arr));
});

Это может быть выполнено с помощью события нажатия клавиши. Когда происходит событие нажатия клавиши, получите текущее значение текстового поля и разделите его на массив, используя\n символ перевода строки в качестве разделителя.

The length of the array tells you how many lines you have. If you've exceeded those lines, we fire an alert. The length of each individual string inside the array represents the length of each line. We use a for loop to check the first 3 lines. If we exceed the length of 24, we fire an alert. We ignore the last iteration of the loop, since we aren't concerned with the length of the last line.

Это не предназначено для того, чтобы быть полным решением, но оно определенно поможет вам начать работу и предоставит вам то, что вы можете изменить в соответствии со своими потребностями. Удачи!

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededcolsError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded MrMage
Error: User Rate Limit Exceeded

Похожие вопросы