From bbf9cd3e67701fc3870cdc28710473b5efeac769 Mon Sep 17 00:00:00 2001 From: Mykhailo Lapchynskyi Date: Tue, 24 Sep 2024 16:10:15 +0200 Subject: [PATCH] add task solution --- README.md | 2 +- src/scripts/main.js | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d24722b51..285881010 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ 1. Replace `` with your Github username in the link - - [DEMO LINK](https://.github.io/js_task_fix_form_DOM/) + - [DEMO LINK](https://mykhailonl.github.io/js_task_fix_form_DOM/) 2. Follow [this instructions](https://mate-academy.github.io/layout_task-guideline/) - Run `npm run test` command to test your code; - Run `npm run test:only -- -n` to run fast test ignoring linter; diff --git a/src/scripts/main.js b/src/scripts/main.js index a765fdb1d..aec3543bf 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,26 @@ 'use strict'; -// write code here +const inputs = [...document.querySelectorAll('input')]; + +const formatCamelCase = (str) => { + return str + .replace(/([A-Z])/g, ' $1') + .replace(/^./, (string) => { + return string.toUpperCase(); + }) + .trim(); +}; + +inputs.forEach((input) => { + const labelElem = document.createElement('label'); + + labelElem.className = 'field-label'; + + labelElem.htmlFor = input.id; + + labelElem.textContent = formatCamelCase(input.name); + + input.insertAdjacentElement('beforebegin', labelElem); + + input.placeholder = formatCamelCase(input.name); +});