hw11_06_personForm.html 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <head>person Form</head>
  2. <body>
  3. <script>
  4. const setName = document.createElement('input') ;
  5. const setSurName = document.createElement('input') ;
  6. const setFatherName = document.createElement('input') ;
  7. const setAge = document.createElement('input') ;
  8. const setFullName = document.createElement('input') ;
  9. document.body.append(setName);
  10. setName.innerText = "Name";
  11. document.body.append(setSurName);
  12. setSurName.innerText = "Surname";
  13. document.body.append(setFatherName);
  14. setFatherName.innerText = "Fathername";
  15. document.body.append(setFullName);
  16. setFullName.innerText = "Fullname";
  17. document.body.append(setAge);
  18. setAge.innerText = "Age";
  19. nameInput.oninput = () => { };
  20. const isUpperCase = (str) => str.toUpperCase() == str;
  21. let createPersonClosure = function (name, surName) {
  22. let result = {};
  23. let age = 17;
  24. let fatherName = "Пупкович";
  25. result.getName = () => name;
  26. result.getSurName = () => surName;
  27. result.getFullName = function () {
  28. return `${result.getName()} ${result.getSurName()}`;
  29. }
  30. result.setFullName = (newFullName) => {
  31. const arrFullName = newFullName.split(' ');
  32. result.setFatherName(arrFullName[2]);
  33. result.setSurName(arrFullName[0]);
  34. result.setName(arrFullName[1]);
  35. }
  36. result.setName = (newName) => {
  37. if (isUpperCase(newName[0])) {
  38. name = newName;
  39. }
  40. else
  41. alert("wrong Name format");
  42. }
  43. result.setSurName = (newSurName) => {
  44. if (isUpperCase(newSurName[0])) {
  45. surName = newSurName;
  46. }
  47. else
  48. alert("wrong Surname format");
  49. }
  50. result.setFatherName = (newFatherName) => {
  51. if (isUpperCase(newFatherName[0])) {
  52. fatherName = newFatherName;
  53. }
  54. else
  55. alert("wrong Fathername format");
  56. }
  57. result.getAge = () => age;
  58. result.setAge = (newAge) => {
  59. if (newAge >= 0 && newAge <= 100)
  60. age = newAge;
  61. else
  62. alert("wrong age: " + newAge);
  63. }
  64. result.getFatherName = () => fatherName;
  65. return result;
  66. }
  67. const b = createPersonClosure("Анна", "Иванова")
  68. b.setAge(15)
  69. b.setFullName("Петрова Анна Николаевна")
  70. function personForm(parent, person) {
  71. //насоздавать инпутов (5 штук)
  72. //надобавлять их в parent
  73. //навесить каждому из них обработчик события типа nameInput.oninput = () => {
  74. //тут пытаемся менять person используя person.setName. Текст в инпуте должен стать таким, который вернет setName
  75. //}
  76. }
  77. </script>
  78. </body>