使用jQuery设置javascript对象的属性。

时间:2013-06-28 18:25:52

标签: javascript jquery oop

如何正确设置javascript对象的属性?我的console.log()不应该返回undefined。

首先我宣布一个班级:

function SignUpForm(myFormElement) {
  var eForm, email, password;

  this.eForm = myFormElement;
}

然后在页面加载时,我实例化类:

$(document).ready(function(){
  myFormElement = $('form');
  myForm = new SignUpForm(myFormElement);
  console.log(myForm.eForm); // Returns undefined :(
});

3 个答案:

答案 0 :(得分:1)

你可能想要这样的东西?!

<强> HTML:

<form>
    <input name="email" />
    <input name="password" />
</form>

<强>使用Javascript:

在此定义SignUpForm类,在eForm中序列化form

function SignUpForm(myFormElement) {
    this.eForm = myFormElement.serialize();
}

$(document).ready(function(){
    myFormElement = $('form');
    myForm = new SignUpForm(myFormElement);
    console.log(myForm.eForm);
});

jsFiddle

编辑:如果eForm存储元素,那么您的代码就可以了......但是console.log(myForm.eForm);没有多大意义,而对于休息,您可以序列化{{1}元素form

答案 1 :(得分:0)

我认为目前没有任何问题。我不太使用log,但不确定你是否可以“记录”一个对象,或者它是否必须是一个类型字符串。除此之外,正确设置对象。 myForm是一个对象,eForm是对象的一个​​属性,它的值是选择器“FORM”的jquery对象。

答案 2 :(得分:0)

function SignUpForm(myFormElement) {
  this.eForm = myFormElement;
}

您可以安全地删除声明的范围变量,因为它们不执行任何操作。