我有一个多维数组的新输入。已调用的原始输入在被调用时正确显示,但新输入写为“未定义”。我认为它将新输入视为变量。你如何让它们显示为一个字符串?
var original = new Array(); //this is the array
function input(title, artist, ddate, genre, picsrc) {
this.Title = title;
this.Artist = artist;
this.Ddate = parseInt(parseFloat(ddate));
this.Genre = genre;
this.Picsrc = picsrc;
}
original[0] = {title:"Hope II", artist:"Gustav Klimt", ddate:1907, genre:"Art Nouveau", picsrc:"gustav.jpg"}; //and so on
添加到数组的值取自表单。
function addit(form) {
G = form.Title.value //as a test
original[original.length++] = new input(form.Title.value, form.Artist.value, form.Ddate.value, form.Genre.value, form.Picsrc.value)
alert("your entry has been added")
alert(G) //value shows up in the alert
}
但在此函数中回调它时:
$("#info").html(original[currentrecord]["title"]+"<br /><h2>"+original[currentrecord]["artist"]+"</h2>"+original[currentrecord]["ddate"]+"<br />"+original[currentrecord]["genre"]);
一切都被写成“未定义”。 我假设数据已成功添加到数组中,但可能格式不正确?
答案 0 :(得分:1)
我更喜欢使用点符号,但这不是必需的。
真正的问题是:JavaScript具有案例性。
我会这样做:
original[currentrecord].Title
original[currentrecord].Artist
依旧......
在代码中的一个位置,您使用全小写(初始化原始[0]时),但在构造函数中,您使用大写字母表示第一个字母。