diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
| commit | 7aa203150fc1a2ec79c681c13f0d486d531746eb (patch) | |
| tree | f09ba9f69ccd434e9c7fdeb41807fc8008784d8a /html/assets/js/forms/textarea.js | |
| parent | 221af3a2e035bd6689294509feb52f286d3bd5be (diff) | |
| download | classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.gz classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.bz2 classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.zip | |
error pages; js system to support back/front-end
Diffstat (limited to 'html/assets/js/forms/textarea.js')
| -rw-r--r-- | html/assets/js/forms/textarea.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/html/assets/js/forms/textarea.js b/html/assets/js/forms/textarea.js new file mode 100644 index 0000000..493c78f --- /dev/null +++ b/html/assets/js/forms/textarea.js @@ -0,0 +1,26 @@ +$$plugins.define('textarea', function (element, options) {
+ const textarea = element.querySelector('textarea');
+
+ //style focus
+ textarea.addEventListener('focus', (event) => {
+ textarea.closest(".textarea").classList.add("focus");
+ });
+
+ textarea.addEventListener('blur', (event) => {
+ textarea.closest(".textarea").classList.remove("focus");
+ });
+
+ //characters count
+ textarea.addEventListener("input", event => {
+ const target = event.currentTarget;
+ const maxLength = target.getAttribute("maxlength");
+ const currentLength = target.value.length;
+ const currentLengthText = document.getElementsByClassName("textarea__remaining")[0];
+
+ currentLengthText.innerHTML = currentLength;
+
+ if (currentLength >= maxLength) {
+ return;
+ }
+ });
+});
|
