function book()
{<br/>
var name=document.getElementById('name').value;
<br/>var date=document.getElementById('date').value;
<br/>var venue=document.getElementById('venue').value;
<br>var time=document.getElementById('time').value;
<br/> var reserve=[];
<br/>
var input={
>> name:' ',<br/>
date:' ',<br/>
venue:' ',<br/>
time:' '<br/>
};
//load local storage
reserve = localStorage.getItem("arrayCache");
reserve = JSON.parse(reserve);
if(reserve === null || reserve === undefined)//run for the first time
{
input={ name:name,
date:date,
venue:venue,
time:venue
};
input=JSON.stringify(input);
alert(input);
reserve.push(input);
localStorage.setItem("arrayCache",JSON.stringify(reserve));
alert("Data successfully stored.");
}
//when array already store data
else
{
for(var x=0; x<reserve.length;x++)
{
if(date==reserve[x].date && venue==reserve[x].venue && time==reserve[x].time)
{
alert("Date and time not available for that venue!");
break;
}
else
{
input={ name:name,
date:date,
venue:venue,
time:venue
};
input=JSON.stringify(input);
alert(input);
reserve.push(input);
localStorage.setItem("arrayCache",JSON.stringify(reserve));
alert("Data successfully stored.");
break;
}
}
}
}Speicherobjekt mit Attributen in Array javascript
Mein Problem ist, dass, wenn ich versuchte,
input={ name:name,
date:date,
venue:venue,
time:venue
};
in Array zu speichern Objekt reserve[]
mit reserve.push(input)
es einen Fehler veranlassen zu sagen, dass „Can not lesen property 'push' von null ", Aber wenn ich versuchte alert(input)
, drucken Sie das ganze Objekt schön, ich weiß nicht, wo das Problem ist. Meine erwartete Ausgabe etwas so sein würde:
reserve(0)={name:name,
date:date,
venue:venue,
time:time}
so dass später kann ich für neue Benutzereingabe vergleichen und überprüfen Sie mit reserve(0).name == name
http://stackoverflow.com/editing-help – SLaks
Sie müssen nur Ihr Array instanziiert ... – Alexis
Überprüfen Sie, dass 'localStorage.getItem ("arrayCache"); 'gibt tatsächlich einen Wert zurück – Weedoze