/* JavaScript Bible, Fourth Edition by Danny Goodman
John Wiley & Sons CopyRight 2001 */
<HTML> <HEAD> <TITLE>Modifying Table Cell Content</TITLE> <STYLE TYPE="text/css"> THEAD {background-color:lightyellow; font-weight:bold} TFOOT {background-color:lightgreen; font-weight:bold} #myTABLE {background-color:bisque} </STYLE> <SCRIPT LANGUAGE="JavaScript"> var theTable, theTableBody function init() { theTable = (document.all) ? document.all.myTABLE : document.getElementById("myTABLE") theTableBody = theTable.tBodies[0] } function appendRow(form) { insertTableRow(form, -1) } function addRow(form) { insertTableRow(form, form.insertIndex.value) } function insertTableRow(form, where) { var now = new Date() var nowData = [now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds()] clearBGColors() var newCell var newRow = theTableBody.insertRow(where) for (var i = 0; i < nowData.length; i++) { newCell = newRow.insertCell(i) newCell.innerHTML = nowData[i] newCell.style.backgroundColor = "salmon" } updateRowCounters(form) } function removeRow(form) { theTableBody.deleteRow(form.deleteIndex.value) updateRowCounters(form) } function insertTHEAD(form) { var THEADData = ["Hours","Minutes","Seconds","Milliseconds"] var newCell var newTHEAD = theTable.createTHead() newTHEAD.id = "myTHEAD" var newRow = newTHEAD.insertRow(-1) for (var i = 0; i < THEADData.length; i++) { newCell = newRow.insertCell(i) newCell.innerHTML = THEADData[i] } updateRowCounters(form) form.addTHEAD.disabled = true form.deleteTHEAD.disabled = false } function removeTHEAD(form) { theTable.deleteTHead() updateRowCounters(form) form.addTHEAD.disabled = false form.deleteTHEAD.disabled = true } function insertTFOOT(form) { var TFOOTData = ["Hours","Minutes","Seconds","Milliseconds"] var newCell var newTFOOT = theTable.createTFoot() newTFOOT.id = "myTFOOT" var newRow = newTFOOT.insertRow(-1) for (var i = 0; i < TFOOTData.length; i++) { newCell = newRow.insertCell(i) newCell.innerHTML = TFOOTData[i] } updateRowCounters(form) form.addTFOOT.disabled = true form.deleteTFOOT.disabled = false }
function removeTFOOT(form) { theTable.deleteTFoot() updateRowCounters(form) form.addTFOOT.disabled = false form.deleteTFOOT.disabled = true } function insertCaption(form) { var captionData = form.captionText.value var newCaption = theTable.createCaption() newCaption.innerHTML = captionData form.addCaption.disabled = true form.deleteCaption.disabled = false } function removeCaption(form) { theTable.deleteCaption() form.addCaption.disabled = false form.deleteCaption.disabled = true } // housekeeping functions function updateRowCounters(form) { var sel1 = form.insertIndex var sel2 = form.deleteIndex sel1.options.length = 0 sel2.options.length = 0 for (var i = 0; i < theTableBody.rows.length; i++) { sel1.options[i] = new Option(i, i) sel2.options[i] = new Option(i, i) } form.removeRowBtn.disabled = (i==0) } function clearBGColors() { for (var i = 0; i < theTableBody.rows.length; i++) { for (var j = 0; j < theTableBody.rows[i].cells.length; j++) { theTableBody.rows[i].cells[j].style.backgroundColor = "" } } } </SCRIPT> </HEAD> <BODY onLoad="init()"> <H1>Modifying Tables</H1> <HR> <FORM NAME="controls"> <FIELDSET> <LEGEND>Add/Remove Rows</LEGEND> <TABLE WIDTH="100%" CELLSPACING=20><TR> <TD><INPUT TYPE="button" VALUE="Append 1 Row" onClick="appendRow(this.form)"></TD> <TD><INPUT TYPE="button" VALUE="Insert 1 Row" onClick="addRow(this.form)"> at index: <SELECT NAME="insertIndex"> <OPTION VALUE="0">0 </SELECT></TD> <TD><INPUT TYPE="button" NAME="removeRowBtn" VALUE="Delete 1 Row" DISABLED onClick="removeRow(this.form)"> at index: <SELECT NAME="deleteIndex"> <OPTION VALUE="0">0 </SELECT></TD> </TR> </TABLE> </FIELDSET> <FIELDSET> <LEGEND>Add/Remove THEAD and TFOOT</LEGEND> <TABLE WIDTH="100%" CELLSPACING=20><TR> <TD><INPUT TYPE="button" NAME="addTHEAD" VALUE="Insert THEAD" onClick="insertTHEAD(this.form)"><BR> <INPUT TYPE="button" NAME="deleteTHEAD" VALUE="Remove THEAD" DISABLED onClick="removeTHEAD(this.form)"> </TD> <TD><INPUT TYPE="button" NAME="addTFOOT" VALUE="Insert TFOOT" onClick="insertTFOOT(this.form)"><BR> <INPUT TYPE="button" NAME="deleteTFOOT" VALUE="Remove TFOOT" DISABLED onClick="removeTFOOT(this.form)"> </TD> </TR> </TABLE> </FIELDSET> <FIELDSET> <LEGEND>Add/Remove Caption</LEGEND> <TABLE WIDTH="100%" CELLSPACING=20><TR> <TD><INPUT TYPE="button" NAME="addCaption" VALUE="Add Caption" onClick="insertCaption(this.form)"></TD> <TD>Text: <INPUT TYPE="text" NAME="captionText" SIZE=40 VALUE="Sample Caption"> <TD><INPUT TYPE="button" NAME="deleteCaption" VALUE="Delete Caption" DISABLED onClick="removeCaption(this.form)"></TD> </TR> </TABLE> </FIELDSET> </FORM> <HR> <TABLE ID="myTABLE" CELLPADDING=10 BORDER=1> <TBODY> </TABLE> </BODY> </HTML>
|