多次元配列の新しい入力があります。すでに定義されている元の入力は、呼び出されたときに正しく表示されますが、新しい入力は「未定義」と書き込まれます。新しい入力を変数として認識していると思います。どのようにしてそれらを文字列として表示させるのですか?
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"]);
すべてが「未定義」として書き込まれています。データが配列に正常に追加されていると思いますが、正しい形式ではない可能性がありますか?