创建具有用户定义属性的新javascript对象
使用Javascript和jquery,我想编写的代码执行以下操作:当用户填写html表单时,将使用用户提供的属性自动创建一个新对象。我有一个构造函数创建具有用户定义属性的新javascript对象,javascript,jquery,Javascript,Jquery,使用Javascript和jquery,我想编写的代码执行以下操作:当用户填写html表单时,将使用用户提供的属性自动创建一个新对象。我有一个构造函数 function object (prop1, prop2, prop3) { this.prop1 = prop1; this.prop2 = prop2; this.prop3 = prop3; } 我使用jquery val()获取用户输入,如下所示: object.prop1 = $('i
function object (prop1, prop2, prop3) {
this.prop1 = prop1;
this.prop2 = prop2;
this.prop3 = prop3;
}
我使用jquery val()获取用户输入,如下所示:
object.prop1 = $('input[name = "input1"]').val();
object.prop2 = $('input[name = "input2"]').val();
object.prop2 = $('input[name = "input3"]').val();
var Apple = function Apple(p1, p2, p3) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
};
//...
a = $('input[name = "input1"]').val();
b = $('input[name = "input2"]').val();
c = $('input[name = "input3"]').val();
var obj = new Apple(a,b,c);
我错过的是我认为在构造函数和用户输入之间的某个地方。如果我想创建一个新对象,我会写
apple = new object (prop1, prop2, prop3);
我希望代码在用户每次填写表单时自动创建一个新对象。我试着用for循环来做,但没有成功。我是一个完全的初学者,所以我想我错过了一些非常基本的东西。有什么建议吗?不需要构造函数
var obj = {};
object.prop1 = $('input[name = "input1"]').val();
object.prop2 = $('input[name = "input2"]').val();
object.prop2 = $('input[name = "input3"]').val();
//Use obj for further processing
尝试:
然后通过以下方式访问:
obj.input1
使用jQuery将onsubmit事件绑定到表单
$("[name='FORM_NAME']").submit(function() {
var newObj = new object();
newObj.prop1 = $('input[name = "input1"]').val();
newObj.prop2 = $('input[name = "input2"]').val();
newObj.prop2 = $('input[name = "input3"]').val();
});
不完全确定之后要对对象执行什么操作,但这将在submit函数的作用域中创建它 不确定为什么要这样做,但可以使用方括号表示法来实现
function x(a, b) {
this[a] = a;
this[b] = b;
this.list = function() {
for(var i in this) {
console.log(i+': '+this[i]);
}
}
}
var l = new x('hello', 'world');
l.list();
JavaScript能够在OOP范例中工作。如果您真正需要的是自定义对象,您可以这样做:
object.prop1 = $('input[name = "input1"]').val();
object.prop2 = $('input[name = "input2"]').val();
object.prop2 = $('input[name = "input3"]').val();
var Apple = function Apple(p1, p2, p3) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
};
//...
a = $('input[name = "input1"]').val();
b = $('input[name = "input2"]').val();
c = $('input[name = "input3"]').val();
var obj = new Apple(a,b,c);
为什么不干脆
apple={prop1:prop1,prop2:prop2,prop3:prop3}代码>?该对象应该存在于何处?JS对象存在于浏览器中,因此您的问题只有在您希望单个用户多次填写表单时才有意义(在一个浏览器会话中)。表单提交中是否缺少事件处理程序?在这种情况下,您不需要for循环。它将由单个用户多次填写,因此应该存在于一个浏览器会话中。所以,如果我按照Arun P Johny说的做,我以后怎么能引用这个对象呢?如果用户创建了三个或四个对象,我以后如何引用它们?我想这就是我想要的,即使我无法正确解释,所以谢谢!也许你的意思是obj[name]=…