/*
JavaScript Bible, Fourth Edition
by Danny Goodman
John Wiley & Sons CopyRight 2001
*/
<HTML>
<HEAD>
<TITLE>Modifying Table Cell Content</TITLE>
<STYLE TYPE="text/css">
.absoluteWrap {position:absolute}
.relativeWrap {position:relative}
.total {color:red}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
var Ver4 = parseInt(navigator.appVersion) == 4
var Ver4Up = parseInt(navigator.appVersion) >= 4
var Nav4 = ((navigator.appName == "Netscape") && Ver4)
var modifiable
// calculate and display a row's total
function showTotal(qtyList) {
var qty = qtyList.options[qtyList.selectedIndex].value
var prodID = qtyList.name
var total = "US$" +
(qty * parseFloat(qtyList.form.elements[prodID + "Price"].value))
var newCellHTML = "<SPAN CLASS='total'>" + total + "</SPAN>"
if(Nav4) {
document.layers[prodID + "TotalWrapper"].document.layers[prodID +
"Total"].document.write(newCellHTML)
document.layers[prodID + "TotalWrapper"].document.layers[prodID +
"Total"].document.close()
} else if (modifiable) {
if (document.all) {
document.all(prodID + "Total").innerHTML = newCellHTML
} else {
document.getElementById(prodID + "Total").innerHTML = newCellHTML
}
}
}
// initialize global flag for browsers capable of modifiable content
function init() {
modifiable = (Ver4Up && document.body && document.body.innerHTML)
}
// display content for all products (e.g., in case of Back navigation)
function showAllTotals(form) {
for (var i = 0; i < form.elements.length; i++) {
if (form.elements[i].type == "select-one") {
showTotal(form.elements[i])
}
}
}
</SCRIPT>
</HEAD>
<BODY onLoad="init(); showAllTotals(document.orderForm)">
<H1>Modifying Table Cell Content</H1>
<HR>
<FORM NAME="orderForm">
<TABLE BORDER=1>
<COLGROUP WIDTH=150>
<COLGROUP WIDTH=100>
<COLGROUP WIDTH=50>
<COLGROUP WIDTH=100
<TR>
<TH>Product Description</TH>
<TH>Price Each</TH>
<TH>Quantity</TH>
<TH>Total</TH>
</TR>
<TR>
<TD>Wonder Widget 9000</TD>
<TD>US$125.00</TD>
<TD><SELECT NAME="ww9000" onChange="showTotal(this)">
<OPTION VALUE="0">0
<OPTION VALUE="1">1
<OPTION VALUE="2">2
<OPTION VALUE="3">3
</SELECT>
<INPUT TYPE="hidden" NAME="ww9000Price" VALUE="125.00"></TD>
<TD>
<SCRIPT LANGUAGE="JavaScript">
if (Nav4) {
var placeHolder = " "
placeHolder += " "
document.write("<SPAN ID='ww9000TotalWrapper' CLASS='relativeWrap'>")
document.write("<SPAN ID='ww9000Total' CLASS='absoluteWrap'></SPAN>")
document.write("<SPAN>" + placeHolder + "</SPAN></SPAN>")
} else {
document.write("<SPAN ID='ww9000Total' CLASS='relativeWrap'>" +
"<P> </P></SPAN>")
}
</SCRIPT>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
|