-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
77 lines (46 loc) · 1.81 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function createTable() {
const rowEl = document.getElementById('row');
const colEl = document.getElementById('col');
const rowValue = parseInt(rowEl.value);
const colValue = parseInt(colEl.value);
if( !rowValue && !colValue && rowValue < 20 && colValue < 20) return;
const tableEl = document.getElementById('table-content');
//Clear tables on second add
if(tableEl.childNodes.length > 0 ) resetForm([tableEl]);
const borderEl = document.getElementById('border');
appendBorder( tableEl , borderEl.checked );
makeTable(rowValue, colValue, tableEl);
resetForm([ rowEl, colEl, borderEl ] );
};
function appendBorder(el , isWithBorder) {
if(isWithBorder) el.setAttribute('border', '1')
}
function makeTable( row, col, tableEl ) {
// Append Nodes
for (let index = 0; index < row; index++) {
let trEl = document.createElement('tr');
for (let j = 0; j < col; j++) {
let tdEl = document.createElement('td');
let innerHtml = document.createTextNode(`Example Cell (${ index },${j} )`)
tdEl.appendChild(innerHtml);
trEl.appendChild(tdEl);
}
tableEl.appendChild(trEl);
}
};
function resetForm( els ) {
if( !Array.isArray(els) && !els.length) return;
els.map( el => {
if( el.nodeName === 'INPUT' && el.type === 'text' && el.value ) {
el.value = '';
}
else if ( el.nodeName === 'INPUT' && el.type == 'checkbox' && el.checked ) {
el.checked = false;
}
else if ( el.nodeName === 'TABLE' ) {
while (el.firstChild) {
el.removeChild(el.firstChild);
}
}
} )
}