В JavaScript, как мне назначить собранные значения полей формы новому объекту - PullRequest
0 голосов
/ 12 июля 2020

Я поискал помощь на нескольких веб-сайтах, но до сих пор не могу понять, как назначить собранные значения полей формы новому объекту.

Вот HTML FILE

function getData() {
  let a = document.querySelector('firstName').value;
  let b = document.querySelector('lastName').value;
  let c = document.querySelector('emailAddress').value;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>HTML5 Form</title>
</head>

<body>
  <form>
    <label for="firstName">First Name:</label>
    <input type="text" id="firstName" name="firstName"><br><br>
    <label for="lastName">Last Name:</label>
    <input type="text" id="lastName" name="lastName"><br><br>
    <label for="emailAddress">Email Address:</label>
    <input type="text" id="emailAddress" name="emailAddress"><br><br>
    <button type="submit" onclick="getData()" name="button">Submit</button>
  </form>
</body>
<script src="js/main.js"></script>

</html>

1 Ответ

2 голосов
/ 12 июля 2020

Я бы просто go с экземпляром FormData собирал все данные поля, а затем преобразовывал их в объект через Object.fromEntries()

// Find the form and attach a "submit" event listener
document.querySelector('form').addEventListener('submit', e => {

  // prevent the default "submit" action
  e.preventDefault() 
  
  // create a FormData instance to capture all fields
  const data = new FormData(e.target)
  
  // convert to an object
  const obj = Object.fromEntries(data)
  
  // display the results
  console.log(obj)
})
<form>
  <label for="firstName">First Name:</label>
  <input type="text" id="firstName" name="firstName"><br><br>
  <label for="lastName">Last Name:</label>
  <input type="text" id="lastName" name="lastName"><br><br>
  <label for="emailAddress">Email Address:</label>
  <input type="text" id="emailAddress" name="emailAddress"><br><br>
  <button type="submit" name="button">Submit</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...