I have been searching all weekend for the solution to this quandry and have yet to find a solution that works correctly. What I am trying to acchieve is to limit the number of charatcers per line in a textarea - not limiting them identically, but a different number of characters per line of my choosing.
For Example:
Is this possible with a textarea, or is there another way of doing i with a Div or something. I do realise that this has in all likelihood been covered before, but to find an actual working script that covers this criterium has proved extremely difficult and I don't have the kind of skill it takes to acchieve these results.
Thanks
Textarea limits This JavaScript object has a read-only property boundingHeight , from which we can retrieve the height of the textRange as a pixel value. So we only have to divide the boundingHeight of the textRange by the lineHeight (as pixel value) of the TextArea to get the number of lines used in the TextArea .
Complete HTML/CSS Course 2022 The HTML <input> tag is used to get user input in HTML. To give a limit to the input field, use the min and max attributes, which is to specify a maximum and minimum value for an input field respectively. To limit the number of characters, use the maxlength attribute.
The maxlength attribute specifies the maximum number of characters that can be entered in the texterea. By default, the maximum is 524,288 characters.
<textarea> does not support the value attribute.
Below is a sample snapshot of the problem that you're trying to solve:
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));
});
This can be accomplished using a keypress event. When the keypress event fires, get the current value of the textbox and split the value into an array using the \n
line break character as a delimiter.
This is not designed to be a complete solution, but this will definitely get you started and provide you with something that you can modify to suit your needs. Good luck!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With