如何正确设置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 :(
});
答案 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);
});
编辑:如果eForm
存储元素,那么您的代码就可以了......但是console.log(myForm.eForm);
没有多大意义,而对于休息,您可以序列化{{1}元素form
。
答案 1 :(得分:0)
我认为目前没有任何问题。我不太使用log,但不确定你是否可以“记录”一个对象,或者它是否必须是一个类型字符串。除此之外,正确设置对象。 myForm是一个对象,eForm是对象的一个属性,它的值是选择器“FORM”的jquery对象。
答案 2 :(得分:0)
function SignUpForm(myFormElement) {
this.eForm = myFormElement;
}
您可以安全地删除声明的范围变量,因为它们不执行任何操作。