Part1_Password_.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Functional: OOP</title>
  6. </head>
  7. <body>
  8. <script>
  9. //---------Password ---- LoginForm ---- LoginForm Constructor ----
  10. // ---- Password Verify ---- Все в одном задании сразу ↧
  11. function Password(parent,open=false){
  12. this.parent=parent;
  13. this.open=open;
  14. let key1=false;
  15. let key2=false;
  16. let login=document.createElement('input');
  17. login.type='text';
  18. login.placeholder='login';
  19. let input=document.createElement('input');
  20. input.placeholder='Password';
  21. let input2=document.createElement('input');
  22. input2.type='password';
  23. input2.placeholder='Password';
  24. let check=document.createElement('input');
  25. check.type='checkbox';
  26. check.checked=true;
  27. let p=document.createElement('p');
  28. let btn=document.createElement('input');
  29. btn.type='submit'
  30. btn.value='Autorized';
  31. parent.append(login,input,check);
  32. if(open==true){
  33. input.type='password';
  34. }
  35. if(open==false){
  36. input.type='text';
  37. }
  38. parent.append(p,btn);
  39. this.setValue=function(val){
  40. input.value=val;
  41. }
  42. login.value===''?key1=false:key1=true;
  43. key1===false?login.style.borderColor='red':login.style.borderColor='green';
  44. input.value===''?key1=false:key1=true;
  45. key2===false?input.style.borderColor='red':input.style.borderColor='green';
  46. parent.append(input2);
  47. input2.hidden=true;
  48. btn.disabled=true;
  49. login.onblur=function(){
  50. if(login.value==false){
  51. key2=false;
  52. login.style.borderColor='red';
  53. }else{
  54. key2=true;
  55. login.style.borderColor='green';
  56. if(key1===true){
  57. if(input.type==='text'){
  58. btn.disabled=false;
  59. }
  60. }
  61. }
  62. }
  63. input.onblur=function(){
  64. if(input.value==false){
  65. key1=false
  66. input.style.borderColor='red';
  67. }else{
  68. if(key2===true && input.type==='text'){
  69. key1=true;
  70. input.style.borderColor='green';
  71. btn.disabled=false;
  72. }
  73. if(input.type=='password'){
  74. btn.disabled=true;
  75. if(input2.value===input.value){
  76. input2.borderColor='green';
  77. btn.disabled=false;
  78. }else{
  79. input2.borderColor='red';
  80. btn.disabled=true;
  81. }
  82. }
  83. }
  84. }
  85. btn.onclick=function(){
  86. console.log(login.value+":"+input.value);
  87. }
  88. this.getValue=function(){
  89. return input.value;
  90. }
  91. this.setOpen=function(val){
  92. val==true?input.type='password':input.type='text';
  93. check.checked=val;
  94. }
  95. check.onclick=function(){
  96. if(check.checked==true){
  97. input.type='password';
  98. let arr=(input.value).split('');
  99. for(let i=0;i<arr.length;i++){
  100. arr[i]='*';
  101. }
  102. p.innerText=arr.join('');
  103. input2.hidden=false;
  104. }else{
  105. input.type='text';
  106. p.innerText=input.value;
  107. input2.hidden=true;
  108. }
  109. }
  110. this.getOpen=function(){
  111. return input.type;
  112. }
  113. input.oninput=function(){
  114. p.innerText=input.value;
  115. }
  116. }
  117. let p=new Password(document.body,false);
  118. //p.setValue('qwerty');
  119. //console.log(p.getValue());
  120. p.setOpen(false);
  121. console.log(p.getOpen());
  122. </script>
  123. </body>
  124. </html>