In your code you have the following line:
String item = localStorage.getItem('user');
This isn't valid JavaScript and is therefore throwing a SyntaxError: Unexpected identifier
, preventing the rest of your JavaScript code from being evaluated.
However, as you try to attach insertRecord
inline in the HTML, it tries to run when triggered, but can't invoke code that didn't get evaluated.
You should consider attaching event listeners using element.addEventListener
.
Additionally, indenting your code may help you debug, too.
var i, user, txt;
$(document).ready(function () {
$.ajax({
type: "GET",
url: "studio.json",
dataType: "json",
success: getUser,
error: function () {
alert("retrieval error");
}
});
});
function getUser(data) {
if (localStorage) {
if (!localStorage.getItem('user')) {
user = JSON.parse(data.User);
localStorage.setItem('user', user);
} else {
item = localStorage.getItem('user');
user = JSON.parse(item);
}
} else
alert("Local Storage not supported");
}
function insertRecord() {
$.ajax({
type: "GET",
url: "studio.json",
dataType: "json",
success: insertUser,
error: function () {
alert("retrieval error");
}
});
function insertUser() {
txt = {
firstName: document.getElementById("firstName").value,
lastName: document.getElementById("lastName").value,
userName: document.getElementById("userName").value,
email: document.getElementById("email").value,
password: document.getElementById("password").value
};
localStorage.setItem('user', user + JSON.stringify(txt));
}
}