我如何将 html 输入数据传递给 javascript class

How can i pass html input data to a javascript class

我正在尝试将数据从 html 输入传递到 vanilla JS class 构造函数。 这是我试过的。

class Users {
  constructor(email,password) {
    this.email = email;
    this.password = password;

  }


  login(){
      // url for endpoint
let url = "http://127.0.0.1:5000/api/v2/users/login"

alert(this.password)

// get login data from ui
let data = {
  email : this.email,
  password : this.password
};

}
let email = document.getElementById('email').value,
let password = document.getElementById('password').value
const user = new Users(email,password)
document.getElementById('login').addEventListener('submit', user.login())

似乎没有数据传递到电子邮件和密码变量。

我也试过这样做但是对象没有被调用

class Users {
  constructor(email,password) {
    this.email = email;
    this.password = password;

  }

        login(){
    // user the data here

}
function load(event){
   let email = document.getElementById('email').value,
   let password = document.getElementById('password').value
   const user = new Users(email,password)
   user.login()
}

document.getElementById('login').addEventListener('submit', load)

有人帮我解决这个问题。

我已尽力重构您的代码。根据您要对数据执行的操作,这取决于您。但是在下面的代码中,您可以在登录函数中获取电子邮件和密码

class Users {
  constructor() {    
  }
  
  login(){
    
    let email = document.getElementById('email').value, 
        password = document.getElementById('password').value
    
    alert(email, password)
  }
}

    
const user = new Users();
const login = user.login
<input type="text" id="email" />
<input type="text" id="password" />
<button id="login" onclick="login()">submit</button>