I wanted to create a simple form on the page with a few inputs and button and by receiving information from the inputs. I try to put the person’s information on the screen, but the web page does not display the information well, but only shows [object Object]
.
function structur() { function person(name, family, age) { this.name = name; this.family = family; this.age = age; } var name1 = document.getElementById('iname').value; var family1 = document.getElementById('ifamily').value; var age1 = document.getElementById('iage').value; var demo = new person(name1, family1, age1) document.getElementById('result').innerHTML = demo; }
<p id="result">show result here! </p> <button id="show" onclick="structur()">click to show</button> <input type="text" id="iname" placeholder="name:"> <input type="text" id="ifamily" placeholder="family:"> <input type="number" id="iage" placeholder="age:">
Advertisement
Answer
demo
is basically a Object, which you are trying to insert in html, therefore you first have to convert it into String so that it can be parsed into HTML DOM.
function structur (){ function person(name, family, age){ this.name = name; this.family = family; this.age = age; } var name1 = document.getElementById('iname').value; var family1 = document.getElementById('ifamily').value; var age1 = document.getElementById('iage').value; var demo = new person (name1,family1,age1) document.getElementById('result').innerHTML= JSON.stringify(demo); }
Few Tips:
- Use PascalCase naming convention for Object Constructor function, it totally depends on you to follow this or not, because it make more understandable code for other developers that this is a Object Constructor.
- Make as less side effects as you can, like in
structur
, your function is depending on value which is not in scope of person function.
Example:
function Person(name, family, age){ this.name = name; this.family = family; this.age = age; } function structur(){ var name1 = document.getElementById('iname').value; var family1 = document.getElementById('ifamily').value; var age1 = document.getElementById('iage').value; var demo = new Person (name1,family1,age1) document.getElementById('result').innerHTML= JSON.stringify(demo); }