Форма ввода используется в качестве параметров конструктора класса

0

Я прочитал другие темы, посвященные этой теме, но ответы на мой пример не работают.

Я пытаюсь использовать ввод формы в качестве параметров конструктора класса, получая значение элементов с помощью jQuery и устанавливая его в this.elementvalue затем this.elementvalue их для параметров Person(this.name,this.age,this.gender,this.hair_col,this.eye_col); ,

Кажется, это не работает для меня, хотя...

http://jsfiddle.net/ryanhagz/q92MP/

Теги:

1 ответ

1
Лучший ответ

1) вы должны присвоить значение входных параметров переменным экземпляра:

this.name = document.getElementById(fname).value;

следует изменить на

this.name = name;

2) Что this значит? поскольку вы присвоили id элементам <input>, поэтому вы можете просто получить их значения с id:

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;
    });
});
  • 0
    Спасибо, Кенди. Работает отлично!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню