Как распечатать ввод из текстового поля?

Я пытался создать простую систему входа в систему (локальную), и я немного запутался. Как я могу ввести ввод, который пользователь написал в текстовое поле, напечатать его в консоли и сохранить в переменной?

Мой HTML-код:

<!DOCTYPE html>
<meta content = "text/html;charset=utf-8" http-equiv = "Content-Type">
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
    <script src = "username.js"></script>
    <script src = "password.js"></script>
</head>
<body>
    <title>Login #1</title>
    <h2>Simple login system</h2>
    <form name = "">
        <label for = "text1">Username:</label>
        <input type = "text" name = "text1">
        <label for = "text2">Password:</label>
        <input type = "text" name = "text2">
        <button onclick = "password(), username()">login</button> 
    </form>
</body>
</html>

Для моего JS я хотел, чтобы функции «password()» и «username()» проверялись отдельно в отдельных файлах.

Файл паролей JS:

const Psword = 'Password9' //just an example

function password() {
    console.info(Psword)
    // if (user input from password field) = Psword
    // alert('Login sucessfull redirecting!)
    // else{
    // alert('Username or password are incorrect')    
    // }
}

Файл имени пользователя JS:

var Username = 'Subject09'

function username() {
    console.info(Username)
    // if (user input from username field) = Username
    // alert('Login sucessfull redirecting!)
    // else{
    // alert('Username or password are incorrect')    
    // }
}

Обновлено: добавлен мой код JS. (Примечание: я разделил свой код на 2 разных файла JS, потому что я просто хочу, чтобы результат был простым.)

Я бы использовал метод формы onsubmit и preventDefault(), чтобы избежать обновления страницы. Это лучше, чем полагаться на кнопку onclick, так как вы также можете отправить с помощью кнопки ввода. Также лучше обрабатывать отправку с помощью одной функции, а не разделять их. Пожалуйста, поделитесь своим кодом javascript, чтобы другие могли помочь.

Ozgur Sar 24.12.2020 15:29

Вы вызываете функции и импортируете скрипты, но не предоставили код для указанных функций и скриптов. Мы видим только часть головоломки, поэтому ее трудно отлаживать. Пожалуйста, включите все

dazed-and-confused 24.12.2020 15:41

Добавил сейчас, извините за путаницу! в середине класса и выяснить это.

Ezikiel 24.12.2020 15:44

Моя единственная проблема заключается в том, что я не знаю, как взять ввод, который пользователь написал в текстовом поле для имени пользователя или пароля, и сравнить его с переменными имени пользователя/пароля.

Ezikiel 24.12.2020 15:45

Главное, вы получаете значения из входных данных с помощью document.getElementById(id_name).value, где id_name — это id элемента ввода. Тогда вы можете делать с ним, что хотите. Кроме того, ваше событие onclick неправильно вызывает две функции, их нужно разделить ;, а не ,

dazed-and-confused 24.12.2020 16:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
147
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Мы можем отправить форму с помощью события onsubmit.

ОБНОВЛЕНИЕ: я показываю вам подход к отправке формы.

const form = document.querySelector("form");

form.addEventListener("submit",(e)=>{
e.preventDefault();


 if (form["text1"].value && form["text2"].value){
console.info("Submitted the form");
   form.reset();
 }else{
console.info("Provide required values");
 }
})
<!DOCTYPE html>
<meta content = "text/html;charset=utf-8" http-equiv = "Content-Type">
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
    <script src = "username.js"></script>
    <script src = "password.js"></script>
</head>
<body>
    <title>Login #1</title>
    <h2>Simple login system</h2>
  <form>
    <div>
      <label>Username:</label>
      <input type = "text" name = "text1" >
    </div>
    
    <div>
      <label>Password:</label>
      <input type = "text" name = "text2">
    <div>
    
    <button type = "submit">login</button> 
  </form>
</body>
</html>

Установите идентификаторы для ввода и вашей кнопки. Вы можете предотвратить отправку, добавив type="button" к вашей кнопке.

Просто установите событие onclick на своей кнопке и получите свои входные значения.

<body>
 <title>Login #1</title>
 <h2>Simple login system</h2>
 <form>
    <label for = "text1">Username:</label>
    <input type = "text" name = "text1" id = "username">
    <label for = "text2">Password:</label>
    <input type = "text" name = "text2" id = "password">
    <button type = "button" id = "submitBtn">login</button> 
 </form>
window.onload = function() {
  document.getElementById('submitBtn').addEventListener('click', onSubmit);
}


function onSubmit() {
  console.info(document.getElementById('username').value);
  console.info(document.getElementById('password').value);

  // Do what you want with data

  // You can submit with .submit()
  document.forms['form'].submit();
} 

О, так я могу установить идентификаторы в текстовые поля имени пользователя и пароля, и с идентификаторами я могу получить значения?

Ezikiel 24.12.2020 15:56

Да, вы также можете получить доступ к другим элементам, таким как классы, атрибуты... w3schools.com/js/js_htmldom_elements.asp

Thomas 24.12.2020 15:59

@Thomas: Form может напрямую получать значения своих полей. Проверьте код ниже: Нам не нужно использовать дополнительные идентификаторы и классы. Как и в случае с form["text1"].value. Это меньший код. Экономит много кода

Imran Rafiq Rather 24.12.2020 16:00

Другие вопросы по теме