[英]Create new javascript objects with user defined properties
我要使用Javascript和jquery編寫代碼,以執行以下操作:當用戶填寫html表單時,將使用用戶提供的屬性自動創建一個新對象。 我有一個構造函數
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();
我想念的是,我認為在構造函數和用戶輸入之間的某個位置。 如果我想創建一個新對象,我寫
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
使用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函數的范圍內創建它。
嘗試:
var obj = {};
$("input").each(function() {
var name = $(this).attr("name");
obj.name = $(this).val();
});
然后通過以下obj.input1
訪問: obj.input1
不知道為什么要這樣做,但是可以使用方括號表示法來實現。
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范例中工作。 如果您真正需要的是自定義對象,則可以執行以下操作:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.