<!DOCTYPE html>
<html lang="en">
<head>
<script>
function makeTable(n,m,where,border)
{
var table=document.createElement("TABLE");
table.setAttribute("border",border);
for (var i=0;i<n;i++)
{
var tr1=document.createElement("TR");
for (var j=0;j<m;j++)
{
var td1=document.createElement("TD");
var text1=document.createTextNode("BLA");
td1.appendChild(text1);
tr1.appendChild(td1);
}
table.appendChild(tr1);
}
var z=document.getElementById(where);
z.appendChild(table);
}
</script>
</head>
<body onload="makeTable(3,7,'here',5)">
<h1 align="center">Contacts List Version 1</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" type="button">Save </button> </div>
</body>
</html>
See waht happens when you fiddle with
<body onload="makeTable(3,7,'here',5)">
<!DOCTYPE html>
<html lang="en">
<head>
<script>
function makeTable(n,m,where,border)
{
var table=document.createElement("TABLE");
table.setAttribute("border",border);
for (var i=0;i<n;i++)
{
var tr1=document.createElement("TR");
for (var j=0;j<m;j++)
{
var td1=document.createElement("TD");
td1.x=i;
td1.y=j;
var text1=document.createElement("INPUT");
td1.appendChild(text1);
tr1.appendChild(td1);
}
table.appendChild(tr1);
}
var z=document.getElementById(where);
z.appendChild(table);
}
</script>
</head>
<body onload="makeTable(3,4,'here','it',5)">
<h1 align="center">Contacts List Version 2 ('input's instead of text)</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" type="button">bla?</button> </div>
</body>
</html>
This has inputs instead of text nodes.
<!DOCTYPE html>
<html lang="en">
<head>
<script>
function makeTable(n,m,where,border)
{
var table=document.createElement("TABLE");
table.setAttribute("border",border);
for (var i=0;i<n;i++)
{
var tr1=document.createElement("TR");
for (var j=0;j<m;j++)
{
var td1=document.createElement("TD");
var text1=document.createElement("INPUT");
td1.appendChild(text1);
tr1.appendChild(td1);
}
var but=document.createElement("BUTTON");
var butText=document.createTextNode("delete");
but.appendChild(butText);
tr1.appendChild(but);
table.appendChild(tr1);
}
var z=document.getElementById(where);
z.appendChild(table);
return array;
}
</script>
</head>
<body onload="makeTable(3,4,'here',5)">
<h1 align="center">Contacts List Version 3 (delete buttons added)</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" type="button">save</button> </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<script>
var array = [];
function makeTable(n,m,where,border)
{
var table=document.createElement("TABLE");
table.setAttribute("border",border);
for (var i=0;i<n;i++)
{
array[i]=[];
var tr1=document.createElement("TR");
for (var j=0;j<m;j++)
{
var td1=document.createElement("TD");
var text1=document.createElement("INPUT");
td1.appendChild(text1);
array[i][j]=td1;
tr1.appendChild(td1);
}
var but=document.createElement("BUTTON");
var butText=document.createTextNode("delete");
but.appendChild(butText);
tr1.appendChild(but);
table.appendChild(tr1);
}
var z=document.getElementById(where);
z.appendChild(table);
}
</script>
</head>
<body onload="makeTable(3,4,'here','it',5)">
<h1 align="center">Contacts List Version 4 (storing table elements in array)</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" onClick="alert(array[0][0].childNodes[0].value)" type="button">Fill top left cell and click this</button> </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<script>
var array = [];
var entryObject={first:" ",second:" ",phone:" ",email:" "};
function init()
{
var x=[];
if (localStorage.getItem('contacts')==null) x=[];
else x= JSON.parse(localStorage.getItem('contacts'));
x.push(entryObject);
makeTable('here','it',5,x)
}
function entry(a,b,c,d)
{
this.first=a;
this.second=b;
this.phone=c;
this.email=d;
}
function updateLocalStorage()
{
var aaa=[];
for (var i=0;i<array.length;i++)
{
var z=entryObject;
z=new entry(
array[i]['first'].childNodes[0].value,
array[i]['second'].childNodes[0].value,
array[i]['phone'].childNodes[0].value,
array[i]['email'].childNodes[0].value)
aaa.push(z);
}
localStorage.setItem('contacts',JSON.stringify(aaa));
x= JSON.parse(localStorage.getItem('contacts'));
init();
}
function makeTable(where,id,border,contactArray)
{
var table=document.createElement("TABLE");
table.setAttribute("id",id);
table.setAttribute("border",border);
for (var i=0;i<contactArray.length;i++)
{
array[i]=[];
var tr1=document.createElement("TR");
for (var j=0 in entryObject)
{
var td1=document.createElement("TD");
var text1=document.createElement("INPUT");
text1.value=contactArray[i][j];
td1.appendChild(text1);
array[i][j]=td1;
tr1.appendChild(td1);
}
var but=document.createElement("BUTTON");
var butText=document.createTextNode("delete");
but.appendChild(butText);
tr1.appendChild(but);
table.appendChild(tr1);
}
var z=document.getElementById(where);
if (z.childNodes.length>0)
{var k=z.firstChild;
z.removeChild(k);}
z.appendChild(table);
return array;
}
</script>
</head>
<body onload="init()">
<h1 align="center">Contacts List Version 6 (Making table from Local Storage)</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" onClick="updateLocalStorage();" type="button">Save</button> </div>
<div align="center"> <button id="clear" onClick="localStorage.clear();init();" type="button">clear</button> </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<script>
var array = [];
var entryObject={first:" ",second:" ",phone:" ",email:" "};
var table;
var tr=[];
function init()
{
var x=[];array=[];
if (localStorage.getItem('contacts')==null) x=[];
else x= JSON.parse(localStorage.getItem('contacts'));
x.push(entryObject);
makeTable('here','it',5,x)
}
function entry(a,b,c,d)
{
this.first=a;
this.second=b;
this.phone=c;
this.email=d;
}
function updateLocalStorage()
{
var aaa=[];
for (var i=0;i<array.length;i++)
{
var z=new entry(
array[i]['first'].childNodes[0].value,
array[i]['second'].childNodes[0].value,
array[i]['phone'].childNodes[0].value,
array[i]['email'].childNodes[0].value)
aaa.push(z);
}
localStorage.setItem('contacts',JSON.stringify(aaa));
x= JSON.parse(localStorage.getItem('contacts'));
init();
}
function remove(n)
{
table.removeChild(tr[n]);
for (var i=n+1;i<array.length;i++)
{
array[i-1]=array[i];
}
array.pop();
}
function makeTable(where,id,border,contactArray)
{
table=document.createElement("TABLE");
table.setAttribute("id",id);
table.setAttribute("border",border);
for (var i=0;i<contactArray.length;i++)
{
array[i]=[];
tr[i]=document.createElement("TR");
for (var j=0 in entryObject)
{
var td1=document.createElement("TD");
var text1=document.createElement("INPUT");
text1.value=contactArray[i][j];
td1.appendChild(text1);
array[i][j]=td1;
tr[i].appendChild(td1);
}
var but=document.createElement("BUTTON");
var butText=document.createTextNode("delete");
but.appendChild(butText);
but.val=i;
but.addEventListener('click', function(){remove(this.val);} ,false)
tr[i].appendChild(but);
table.appendChild(tr[i]);
}
var z=document.getElementById(where);
if (z.childNodes.length>0)
{var k=z.firstChild;
z.removeChild(k);}
z.appendChild(table);
return array;
}
</script>
</head>
<body onload="init()">
<h1 align="center">Contacts List Version 7</h1>
<div id="here" align="center"></div>
<div align="center"> <button id="run" onClick="updateLocalStorage();" type="button">Save</button> </div>
<div align="center"> <button id="clear" onClick="localStorage.clear();init();" type="button">clear</button> </div>
</body>
</html>