javascript对象不会在控制台中打印

问题描述:

我有一个输入字段的表单。我试图在控制台中记录这些字段。控制台显示“的createUser {姓:空}” : 对象javascript对象不会在控制台中打印

<div class="#"> 
    First Name:<br> 
    <input placeholder="First Name" type="text" id="firstName" required> 
    <br> 
</div> 
<button onclick="user()" class="btn btn-primary">Sign Up</button> 


function createUser(firstName, lastName, email, userName, password){ 
    this.firstName = firstName; 
} 

function user(){ 
    var user = new createUser(document.getElementById(firstName.text)); 
    console.log(user); 
} 

console.log(user); 
+0

什么是firstName.text? –

+1

不是你的问题,但它不是你的函数具有相同名称的变量的最大想法。在这种情况下,它应该无关紧要,但是如果您需要缓冲一个函数,这样做会给您一些有趣的错误。 –

+0

更正此行var user = new createUser(document.getElementById('firstName')。value); –

var user = new createUser(document.getElementById('firstName').value); 

这可能会有帮助。

您要定义的对象名称相同的函数名。你需要改变一个或其他。你也需要获得输入字段的值。

试试这个

var userObj = new createUser(document.getElementById('firstName').value); 
console.log(userObj) 

试试这个

var user = ''; 
function createUser(firstName, lastName, email, userName, password){ 
this.firstName = firstName; 
} 

function user(){ 
user = new createUser(document.getElementById(firstName).value); 
//the same as accessing the text of <input value="this is my first name."> 

console.log(user.firstName); 
//log the property firstName of the object user. when you put this.firstName inside a function, it turns that into a property of of the variable you save it as. That means you must call it by using the variable and a "." and the property name ex firstName 
} 

console.log(user.firstName); 

您可以打印所有输入在控制台登录以下方式字段值:

考虑,您有以下输入字段:

<div class="divclass"> 
    First Name:<br> 
    <input placeholder="First Name" type="text" id="firstName" required> 
    <br> 
    Middle Name:<br> 
    <input placeholder="Middle Name" type="text" id="middleName" required> 
    <br> 
    Last Name:<br> 
    <input placeholder="Last Name" type="text" id="lastName" required> 
    <br> 
</div> 
<button onclick="user()" class="btn btn-primary">Sign Up</button> 

function user(){ 
    var inputFields = document.querySelectorAll('#firstName, #middleName, #lastName'); 
    var inputFieldValues = Array.prototype.forEach.call(inputFields, function(inputField){ 
     console.log("id: "+inputFields.id + " value: "+inputField.value); 
}); 

}