我已阅读处理此主题的其他线程,但答案不适用于我的示例。
我正在尝试使用表单输入作为我的类构造函数的参数,方法是使用 jQuery 获取元素值并将其设置为this.elementvalue
然后调用它们作为参数Person(this.name,this.age,this.gender,this.hair_col,this.eye_col);
。
虽然它似乎对我不起作用......
我已阅读处理此主题的其他线程,但答案不适用于我的示例。
我正在尝试使用表单输入作为我的类构造函数的参数,方法是使用 jQuery 获取元素值并将其设置为this.elementvalue
然后调用它们作为参数Person(this.name,this.age,this.gender,this.hair_col,this.eye_col);
。
虽然它似乎对我不起作用......
1)您应该将输入参数的值分配给实例变量:
this.name = document.getElementById(fname).value;
应该改为
this.name = name;
2)this
指的是什么?由于您已分配id
给<input>
元素,因此您可以简单地使用id
s 获取它们的值:
new Person(this.name,this.age,this.gender,this.hair_col,this.eye_col);
应该改为
new Person($("#fname").val(), $("#fage").val(), $("#fgender").val(), $("#fhair_col").val(), $("#feye_col").val());
function Person(name, age, gender, hair_col, eye_col) {
this.name = name;
this.age = age;
this.gender = gender;
this.hair_col = hair_col;
this.eye_col = eye_col;
alert(this.name + ' has been created');
alert('CHARACTER INFO - \n\tname: ' + this.name + '\n\tage: ' + this.age + '\n\tGender: ' + this.gender + '\n\tHair Color: ' + this.hair_col + '\n\tEye Color: ' + this.eye_col);
}
$(document).ready(function() {
$("#create_char_btn").click(function() {
$("#create_char_form").css("display", "block")
});
$("#create_btn").click(function() {
var createPerson = new Person($("#fname").val(), $("#fage").val(), $("#fgender").val(), $("#fhair_col").val(), $("#feye_col").val());
createPerson;
});
});