1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <head>person Form</head>
- <body>
- <script>
- const setName = document.createElement('input') ;
- const setSurName = document.createElement('input') ;
- const setFatherName = document.createElement('input') ;
- const setAge = document.createElement('input') ;
- const setFullName = document.createElement('input') ;
- document.body.append(setName);
- setName.innerText = "Name";
- document.body.append(setSurName);
- setSurName.innerText = "Surname";
- document.body.append(setFatherName);
- setFatherName.innerText = "Fathername";
- document.body.append(setFullName);
- setFullName.innerText = "Fullname";
- document.body.append(setAge);
- setAge.innerText = "Age";
- nameInput.oninput = () => { };
- const isUpperCase = (str) => str.toUpperCase() == str;
- let createPersonClosure = function (name, surName) {
- let result = {};
- let age = 17;
- let fatherName = "Пупкович";
- result.getName = () => name;
- result.getSurName = () => surName;
- result.getFullName = function () {
- return `${result.getName()} ${result.getSurName()}`;
- }
- result.setFullName = (newFullName) => {
- const arrFullName = newFullName.split(' ');
- result.setFatherName(arrFullName[2]);
- result.setSurName(arrFullName[0]);
- result.setName(arrFullName[1]);
- }
- result.setName = (newName) => {
- if (isUpperCase(newName[0])) {
- name = newName;
- }
- else
- alert("wrong Name format");
- }
- result.setSurName = (newSurName) => {
- if (isUpperCase(newSurName[0])) {
- surName = newSurName;
- }
- else
- alert("wrong Surname format");
- }
- result.setFatherName = (newFatherName) => {
- if (isUpperCase(newFatherName[0])) {
- fatherName = newFatherName;
- }
- else
- alert("wrong Fathername format");
- }
- result.getAge = () => age;
- result.setAge = (newAge) => {
- if (newAge >= 0 && newAge <= 100)
- age = newAge;
- else
- alert("wrong age: " + newAge);
- }
- result.getFatherName = () => fatherName;
- return result;
- }
- const b = createPersonClosure("Анна", "Иванова")
- b.setAge(15)
- b.setFullName("Петрова Анна Николаевна")
- function personForm(parent, person) {
- //насоздавать инпутов (5 штук)
- //надобавлять их в parent
- //навесить каждому из них обработчик события типа nameInput.oninput = () => {
- //тут пытаемся менять person используя person.setName. Текст в инпуте должен стать таким, который вернет setName
- //}
- }
- </script>
- </body>
|