输入不向JavaScript函数发送更新值

输入不向JavaScript函数发送更新值,javascript,html,input,Javascript,Html,Input,如果我在HTML输入中插入值,新值不会传递给JavaScript函数。如果我定义了输入值,则传递并处理该属性 姓名:姓: 出生年份:工作: 点击 职能人员说明(姓名、姓氏、出生年份、职务){ this.name=名称; this.姓氏=姓氏; this.yearborn=yearborn; 这个工作=工作; this.printAll=函数(){ 返回this.name+“”+this.姓氏+”他出生在“+this.yearborn+”,她的工作是“+this.job” }; }; var

如果我在HTML输入中插入值,新值不会传递给JavaScript函数。如果我定义了输入值,则传递并处理该属性


姓名:姓:
出生年份:工作:
点击

职能人员说明(姓名、姓氏、出生年份、职务){ this.name=名称; this.姓氏=姓氏; this.yearborn=yearborn; 这个工作=工作; this.printAll=函数(){ 返回this.name+“”+this.姓氏+”他出生在“+this.yearborn+”,她的工作是“+this.job” }; }; var firstName=document.getElementById(“txtName”).value; var lastName=document.getElementById('txtNames').value; var born=parseInt(document.getElementById('txtyerborn').value); var theJob=document.getElementById('txtJob').value; var person1=新人员描述(名字、姓氏、出生、工作);
它的预期行为,因为当输入中的值为空时,变量在页面加载时初始化

HTML

职能人员描述(姓名、姓氏、出生年份、职务){
this.name=名称;
this.姓氏=姓氏;
this.yearborn=yearborn;
这个工作=工作;
this.printAll=函数(){
返回this.name+“”+this.姓氏+”他出生在“+this.yearborn+”,她的工作是“+this.job”
};
};
函数printAll(){
var firstName=document.getElementById(“txtName”).value;
var lastName=document.getElementById('txtNames').value;
var born=parseInt(document.getElementById('txtyerborn').value);
var theJob=document.getElementById('txtJob').value;
var person1=新人员描述(名字、姓氏、出生、工作);
document.getElementById('infoprinted')。innerHTML=person1.printAll();
}
姓名:姓氏:
出生年份:工作:
点击

为什么不把它简化成这样

函数printAll(){
var name=document.getElementById('txtName')。值;
var姓氏=document.getElementById('txtNames')。值;
var yearborn=parseInt(document.getElementById('txtyarborn').value);
var job=document.getElementById('txtJob').value;
返回姓名+“”+姓氏+”,他出生在“+年出生+”,她的工作是“+工作;
};
名称:
姓:
出生年份:
工作:
点击


姓名:
姓:
出生年份:
工作:
点击

函数printAll(){ var firstName=document.getElementById(“txtName”).value; var lastName=document.getElementById('txtNames').value; var born=parseInt(document.getElementById('txtyerborn').value); var theJob=document.getElementById('txtJob').value; document.getElementById('infoprinted')。innerHTML=firstName+“”+lastName+,他出生在“+born+”,她的工作是“+theJob”; }
打开页面时,代码只运行一次。您需要将选择代码放入函数中,并通过单击按钮调用它。
<button type="button" onclick="printAll();">Click </button>
function printAll(){
    var firstName = document.getElementById("txtName").value;
    var lastName = document.getElementById('txtSurname').value;
    var born = parseInt(document.getElementById('txtYearborn').value);
    var theJob = document.getElementById('txtJob').value;

    var person1 = new personDescription(firstName, lastName, born ,theJob);

    document.getElementById('infoprinted').innerHTML = person1.printAll();
}
<!DOCTYPE html>
<html>
<body>
Name: <input type="text" id="txtName" value="foo"/>
Surname:<input type="text" id="txtSurname" value="bar"/>
Year Born:<input type="number" id="txtYearborn" value="2000"/>
Job: <input type="text" id="txtJob" value="work"/>
<button type="button" onclick="printAll()">Click </button>
<p id="infoprinted"> </p>

<script type="text/javascript">
function printAll(){
    var firstName = document.getElementById("txtName").value;
    var lastName = document.getElementById('txtSurname').value;
    var born = parseInt(document.getElementById('txtYearborn').value);
    var theJob = document.getElementById('txtJob').value;
    document.getElementById('infoprinted').innerHTML = firstName+ " " + lastName + " and he was born in "+born + " and her job is " + theJob;
} </script></body></html>