简体   繁体   English

如何从输入框获取值

[英]How to get the value from an input box

I have this piece of code and I am not sure how to get the value from an input box. 我有这段代码,我不确定如何从输入框中获取值。 This is my html code: 这是我的html代码:

        <div id = "login">
            <p>User <input type = "text" id = "username"></p>
            <p>Password <input type = "password" id = "password"></p>
            <button onclick = "login(?,?)">Log In</button>  
        </div>

This is my Javascript code: 这是我的Javascript代码:

function login(name, password){
    alert('Your username is ' + name + ' and your password is ' + password);
};

How do you get the value from an input box? 您如何从输入框中获取值? Thanks in advance. 提前致谢。

Javascript: Javascript:

function login(){

    name = document.getElementById('username');
    password = document.getElementById('password');
    alert('Your username is ' + name + ' and your password is ' + password);
};

in HTML : 在HTML中:

<button onclick = "login()">Log In</button>  

Edited: thanks to @sajalsuraj 编辑:感谢@sajalsuraj

<div id = "login">
    <p>User <input type = "text" id = "username"></p>
    <p>Password <input type = "password" id = "password"></p>
    <button onclick = "login()">Log In</button>  
</div>


function login(){
    var name = document.getElementById('username').value;
    var password = document.getElementById('password').value;
    alert('Your username is ' + name + ' and your password is ' + password);
};
<div id = "login">
            <p>User <input type = "text" id = "username"></p>
            <p>Password <input type = "password" id = "password"></p>
            <button onclick = "login(document.getElementById('username').value, document.getElementById('password').value)">Log In</button>  
        </div>

Modifying @smoqadam answer, 修改@smoqadam答案,

function login(name, password){
   alert('Your username is ' + name + ' and your password is ' + password);
};

 name = document.getElementById('username').value;
 password = document.getElementById('password').value;
 login(name,password);

If using Jquery, 如果使用Jquery,

 function login(){
    $name = $('#username').val();
    $pass = $('#password').val();
    alert('UserName: '+$name+' Password: '+$pass);
  }

I would recommend not to bind to events this way. 我建议不要这样绑定事件。 Here's a better example of the bare minimum you are trying to do. 这是您尝试执行的最低要求的更好示例。 I would also suggest using native html form functionality. 我也建议使用本机html form功能。 Consider reading this: https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements 考虑阅读以下内容: https : //developer.mozilla.org/zh-CN/docs/Web/API/HTMLFormElement/elements

 // add event listener to loginButton with handler, that will get username and password from html document.getElementById('loginButton').addEventListener('click', function() { var username = document.getElementById('username').value; var password = document.getElementById('password').value; login(username, password); }); // function to process login. function login (username, password) { alert('username ' + username + '; password ' + password); } 
 <div> <p>User <input type="text" id="username" /></p> <p>Password <input type="password" id="password" /></p> <button id="loginButton">Log In</button> </div> 

HTML : HTML:

<div id="login">
  <p>User <input type="text" id="username"></p>
  <p>Password <input type="password" id="password"></p>
  <button onclick="getData()">Log In</button>  
</div>

Javascript code : JavaScript代码:

function getData() {
name = document.getElementById('username');
password = document.getElementById('password');
getLogin(name,password);
}    

function getLogin(name, password){
    Console.log('Your username is ' + name + ' and your password is ' + password);
};

A better way would be to not include JS code inside html code , instead just reference the login button from your js code and add an event to it. 更好的方法是不在html代码中包含JS代码 ,而只需引用js代码中的登录按钮并向其中添加一个事件。 So you get advantage of caching later on, here is an example: 因此,稍后您将获得缓存的优势,这是一个示例:

<!-- HTML markup -->

<div id = "login">
    <p>User <input type = "text" id = "username"></p>
    <p>Password <input type = "password" id = "password"></p>
    <button>Log In</button>  
</div>


<!-- method1 using script tag -->

<script>
  var loginButton = document.querySelector('#login button');
  var username,password;

  loginButton.addEventListener('click',function(){
      username = document.getElementById('username').value;
      password = document.getElementById('password').value;

      alert('username: ' + username + '\n password : ' + password);
  });

</script>


<!-- 
     method2 include a login.js script(containing the previous js code)    
     to benefit from caching when refreshing or visiting 
     the page in the next time 
-->

<script src="login.js"></script>

You have to get value of html element like this 您必须像这样获取html元素的值

document.getElementById('username').value document.getElementById('用户名').value

 function login(name, password){ var name = document.getElementById('username').value; var password = document.getElementById('password').value; alert('Your username is ' + name + ' and your password is ' + password); }; 
 #login{ width:100%; padding:10px 50px; } label{ width:70px; display:inline-block; } 
 <div id="login"> <p><label>User</label> <input type="text" id="username"></p> <p><label>Password</label> <input type = "password" id = "password"></p> <button onclick="login();">Log In</button> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM