I'm using this code to hide the form fields:

<!--- 
/*****************************************/
/** Usable Forms 2.0, November 2005     **/
/** Written by ppk, www.quirksmode.org  **/
/** Instructions for use on my site     **/
/**                                     **/
/** You may use or change this script   **/
/** only when this copyright notice     **/
/** is intact.                          **/
/**                                     **/
/** If you extend the script, please    **/
/** add a short description and your    **/
/** name below.                         **/
/*****************************************/ --->
<cfparam name="attributes.tag" default="TR">
<script type="text/javascript">
var containerTag = '<cfoutput>#attributes.tag#</cfoutput>';

var compatible = (
        document.getElementById && document.getElementsByTagName && 
document.createElement
        &&
        !(navigator.userAgent.indexOf('MSIE 5') != -1 && 
navigator.userAgent.indexOf('Mac') != -1)
        );

if (compatible)
{
        document.write('<style>.accessibility{display: none}</style>');
        var waitingRoom = document.createElement('div');
}

var hiddenFormFieldsPointers = new Object();

function prepareForm()
{
        if (!compatible) return;
        var marker = document.createElement(containerTag);
        marker.style.display = 'none';

        var x = document.getElementsByTagName('select');
        for (var i=0;i<x.length;i++)
                addEvent(x[i],'change',showHideFields)

        var x = document.getElementsByTagName(containerTag);
        var hiddenFields = new Array;
        for (var i=0;i<x.length;i++)
        {
                if (x[i].getAttribute('rel'))
                {
                        var y = getAllFormFields(x[i]);
                        x[i].nestedRels = new Array();
                        for (var j=0;j<y.length;j++)
                        {
                                var rel = y[j].getAttribute('rel');
                                if (!rel || rel == 'none') continue;
                                x[i].nestedRels.push(rel);
                        }
                        if (!x[i].nestedRels.length) x[i].nestedRels = null;
                        hiddenFields.push(x[i]);
                }
        }

        while (hiddenFields.length)
        {
                var rel = hiddenFields[0].getAttribute('rel');
                if (!hiddenFormFieldsPointers[rel])
                        hiddenFormFieldsPointers[rel] = new Array();
                var relIndex = hiddenFormFieldsPointers[rel].length;
                hiddenFormFieldsPointers[rel][relIndex] = hiddenFields[0];
                var newMarker = marker.cloneNode(true);
                newMarker.id = rel + relIndex;
                
hiddenFields[0].parentNode.replaceChild(newMarker,hiddenFields[0]);
                waitingRoom.appendChild(hiddenFields.shift());
        }
        
        setDefaults();
        addEvent(document,'click',showHideFields);
}

function setDefaults()
{
        var y = document.getElementsByTagName('input');
        for (var i=0;i<y.length;i++)
        {
                if (y[i].checked && y[i].getAttribute('rel'))
                        intoMainForm(y[i].getAttribute('rel'))
        }

        var z = document.getElementsByTagName('select');
        for (var i=0;i<z.length;i++)
        {
                if (z[i].options[z[i].selectedIndex].getAttribute('rel'))
                        
intoMainForm(z[i].options[z[i].selectedIndex].getAttribute('rel'))
        }

}

function showHideFields(e)
{
        if (!e) var e = window.event;
        var tg = e.target || e.srcElement;

        if (tg.nodeName == 'LABEL')
        {
                var relatedFieldName = tg.getAttribute('for') || 
tg.getAttribute('htmlFor');
                tg = document.getElementById(relatedFieldName);
        }
                
        if (
                !(tg.nodeName == 'SELECT' && e.type == 'change')
                &&
                !(tg.nodeName == 'INPUT' && tg.getAttribute('rel'))
           ) return;

        var fieldsToBeInserted = tg.getAttribute('rel');

        if (tg.type == 'checkbox')
        {
                if (tg.checked)
                        intoMainForm(fieldsToBeInserted);
                else
                        intoWaitingRoom(fieldsToBeInserted);
        }
        else if (tg.type == 'radio')
        {
                removeOthers(tg.form[tg.name],fieldsToBeInserted)
                intoMainForm(fieldsToBeInserted);
        }
        else if (tg.type == 'select-one')
        {
                fieldsToBeInserted = 
tg.options[tg.selectedIndex].getAttribute('rel');
                removeOthers(tg.options,fieldsToBeInserted);
                intoMainForm(fieldsToBeInserted);
        }
}

function removeOthers(others,fieldsToBeInserted)
{
        for (var i=0;i<others.length;i++)
        {
                var show = others[i].getAttribute('rel');
                if (show == fieldsToBeInserted) continue;
                intoWaitingRoom(show);
        }
}

function intoWaitingRoom(relation)
{
        if (relation == 'none') return;
        var Elements = hiddenFormFieldsPointers[relation];
        for (var i=0;i<Elements.length;i++)
        {
                waitingRoom.appendChild(Elements[i]);
                if (Elements[i].nestedRels)
                        for (var j=0;j<Elements[i].nestedRels.length;j++)
                                intoWaitingRoom(Elements[i].nestedRels[j]);
        }
}

function intoMainForm(relation)
{
        if (relation == 'none') return;
        var Elements = hiddenFormFieldsPointers[relation];
        for (var i=0;i<Elements.length;i++)
        {
                var insertPoint = document.getElementById(relation+i);
                insertPoint.parentNode.insertBefore(Elements[i],insertPoint);
                if (Elements[i].nestedRels)
                {
                        var fields = getAllFormFields(Elements[i]);
                        for (var j=0;j<fields.length;j++)
                        {
                                if (!fields[j].getAttribute('rel')) continue;
                                if (fields[j].checked || fields[j].selected) 
                                        
intoMainForm(fields[j].getAttribute('rel'));
                        }
                }
        }
}

function getAllFormFields(node)
{
        var allFormFields = new Array;
        var x = node.getElementsByTagName('input');
        for (var i=0;i<x.length;i++)
                allFormFields.push(x[i]);
        var y = node.getElementsByTagName('option');
        for (var i=0;i<y.length;i++)
                allFormFields.push(y[i]);
        return allFormFields;
}

/** ULTRA-SIMPLE EVENT ADDING **/

function addEvent(obj,type,fn)
{
        if (obj.addEventListener)
                obj.addEventListener(type,fn,false);
        else if (obj.attachEvent)
                obj.attachEvent("on"+type,fn);
}

addEvent(window,"load",prepareForm);


/** PUSH AND SHIFT FOR IE5 **/

function Array_push() {
        var A_p = 0
        for (A_p = 0; A_p < arguments.length; A_p++) {
                this[this.length] = arguments[A_p]
        }
        return this.length
}

if (typeof Array.prototype.push == "undefined") {
        Array.prototype.push = Array_push
}

function Array_shift() {
        var A_s = 0
        var response = this[0]
        for (A_s = 0; A_s < this.length-1; A_s++) {
                this[A_s] = this[A_s + 1]
        }
        this.length--
        return response
}

if (typeof Array.prototype.shift == "undefined") {
        Array.prototype.shift = Array_shift
}
</script>

_______________________________________________________________________

Here is the code that is hidden at first. If you select wrap for the whole 
package the select should display.:

                                                                        <table>
                                                <tr>
                                                        <td colspan="5" 
class="giftmedium" align="center">
                                                                <strong>Gift 
Options</strong>
                                                        </td>
                                                        <td colspan="2" 
class="confirmationmedium" width="140">
                                                                &nbsp;
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td colspan="3" 
class="giftlight" nowrap="nowrap">
                                                                
                                                                        <input 
type="radio" name="giftOption_#getWebCartDetails.CurrentRow#" class="giftlight" 
value="nowrap" checked="checked" rel="none">&nbsp;No Gift Wrap or Gift 
Message.&nbsp;
                                                        </td>
                                                        <td colspan="2" 
class="giftlight" nowrap="nowrap">
                                                                
                                                                        <input 
type="radio" name="giftOption_1" class="giftlight" value="messagenowrap" 
rel="message">&nbsp;Include Gift Message without Gift Wrap.&nbsp;
                                                        </td>
                                                        <td colspan="2" 
class="confirmationlight">
                                                                &nbsp;
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td colspan="3" 
class="giftlight" nowrap="nowrap">
                                                                                
                                <input type="radio" name="giftOption_1" 
class="giftlight" value="allwrap" rel="allwrap">&nbsp;Gift Wrap for Whole 
Package.&nbsp;
                                                        </td>
                                                        <td colspan="2" 
class="giftlight" nowrap="nowrap">
                                                                                
                                                                <input 
type="radio" name="giftOption_1" class="giftlight" value="itemwrap" 
rel="itemwrap">&nbsp;Gift Wrap for Individual Items.&nbsp;
                                                        </td>
                                                        <td colspan="2" 
class="confirmationlight">
                                                                &nbsp;
                                                        </td>
                                                </tr>
                                                <tr rel="allwrap">
                                                        <td colspan="5" 
class="giftmedium" align="center">
                                                                <strong>Whole 
Package Gift Wrap Options</strong>
                                                        </td>
                                                        <td colspan="2" 
class="confirmationmedium">
                                                                &nbsp;
                                                        </td>
                                                </tr>
                                                                                
<tr>
                                                                                
        <td class="giftlight" valign="top" width="50%">
                                                                                
                <cfselect name="giftwrap_pk_#getWebCartDetails.CurrentRow#">
                                                                                
                        <option value="1,2.00" selected="selected">Christmas 
Wrap - $2.00</option>
<option value="2,3.00" selected="selected">Easter Wrap - $3.00</option>
                                                                                
                </cfselect>
                                                                                
        </td>
                                                                                
        <td class="giftlight" width="50%" align="center">
                                                                                
                <cfdiv 
bind="url:/index.cfm/fuseaction/checkout.wrapDetails/giftWrap/{giftwrap_pk_1}"  
/>
                                                                                
        </td>
                                                                                
</tr>
                                                                        </table>





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;207172674;29440083;f

Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:316321
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to