按钮点击创建新对象

时间:2014-07-12 18:52:06

标签: javascript object button onclick

我是javascript的新手,这是严格的练习。我有一个html表单(下面),我希望提交按钮在单击时使用Person构造函数创建一个新对象。我希望新对象的名称与用户的名字无关。例如,如果名字为john,则会创建var john = new Person

形式:

<form name="theform">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    Age: <input type="number" name="age"><br>
    <input type="button" onClick="new Person()" value="Submit">
</form>

构造

function Person(){
    this.firstname = document.theform.fname.value;
    this.lastname = document.theform.lname.value;
    var age = document.theform.age.value;
    this.returnAge = function(){
        return age;
    }
};

3 个答案:

答案 0 :(得分:0)

只需在提交按钮上输入ID即可:

document.getElementById("submit").onclick=function(){
    var name=document.forms["theform"]["fname"].value;
    window[name]= new Person();
    console.log(window[name])
}

答案 1 :(得分:0)

这没有意义:为什么你想要一个动态命名的变量?

您使用variableName.propertyName引用对象的属性。在这种情况下,那将是personName.firstname是你如何存储名字而不是作为变量名称本身(这没有意义:你会如何引用该对象?)。

答案 2 :(得分:-1)

<form name="theform">
    First name: <input id="myName" type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    Age: <input type="number" name="age"><br>
    <input type="button" onclick="window[document.getElementById('myName').value] = new Person();" value="Submit">
</form>

然后,如果您打开控制台并搜索john,例如,它将返回该对象。

有效,但认为这样做的编码不好。