0

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

首先我声明一个类:

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 :(
});
4

3 回答 3

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);没有多大意义,其余的你可以序列化那个form元素console.log(myForm.eForm.serialize());

于 2013-06-28T18:36:25.603 回答
0

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

于 2013-06-28T18:35:40.737 回答
0
function SignUpForm(myFormElement) {
  this.eForm = myFormElement;
}

您可以安全地删除您声明的范围变量,因为它们不做任何事情。

于 2013-06-28T18:35:45.057 回答