You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.5 KiB

2 years ago
2 years ago
2 years ago
  1. {% extends "base.html" %}
  2. {% block content %}
  3. <h1>Add New User</h1>
  4. <script defer>
  5. window.onload = () => {
  6. const uname_el = document.getElementById("username")
  7. const pw_el = document.getElementById("password")
  8. const rec_el = document.getElementById("reconfirm")
  9. function check_equal() {
  10. const uname = uname_el.value
  11. const pw = pw_el.value
  12. const rec = rec_el.value
  13. if (pw.length > 0 && rec === pw && uname.length > 0) {
  14. console.log("happens!")
  15. document.getElementById("matches").innerHTML = `<div style='color:darkgreen'>Matches!</div>`
  16. document.getElementById("submit").disabled = false
  17. } else {
  18. document.getElementById("matches").innerHTML = `<div style='color:darkred'>Does not Match!</div>`
  19. document.getElementById("submit").disabled = true
  20. }
  21. }
  22. uname_el.addEventListener("input", check_equal)
  23. pw_el.addEventListener("input", check_equal)
  24. rec_el.addEventListener("input", check_equal)
  25. }
  26. </script>
  27. <form method="post">
  28. <label for="username">Username:</label>
  29. <input id="username" name="username" type="text" required="required">
  30. <br>
  31. <label for="name">Name:</label>
  32. <input id="name" name="name" type="text" required="required">
  33. <br>
  34. <label for="email">Email:</label>
  35. <input id="email" name="email" type="text" required="required">
  36. <br>
  37. <label for="institution">Institution:</label>
  38. <input id="institution" name="institution" type="text" required="required">
  39. <br>
  40. <label for="position">Position:</label>
  41. <input id="position" name="position" type="text" required="required">
  42. <br>
  43. <label for="admin">Admin:</label>
  44. <input id="admin" name="admin" type="checkbox" value="y">
  45. <br>
  46. <label for="password">Password:</label>
  47. <input id="password" name="password" type="password" required="required">
  48. <br>
  49. <label for="reconfirm">Reconfirm Password: <span id="matches"></span></label>
  50. <input id="reconfirm" name="reconfirm" type="password" required="required">
  51. <br>
  52. <input type="submit" value="Submit" disabled="disabled" id="submit">
  53. </form>
  54. {% if success %}
  55. <p style="color:darkgreen">Login Successful!</p>
  56. {% elif fail %}
  57. <p style="color:darkred">Login Failed. Please try again. {{fail}}</p>
  58. {% endif %}
  59. {% endblock %}