I know this topic has been discussed before, but I can't seem to solve my problem.
My script works in FF but not in IE. In IE, the error message says Line: 1837 Char: 7 Error: Object doesn't support this property or method Code: 0 URL: http://stepup.dbs.umt.edu/testMenu-Final-With-Ajax1.php In IE 7 I am unable to move applications from on category to another without an error occurring. I have read, How Prototype extends the DOM ( http://prototypejs.org/learn/extensions ), but don't see anywhere in my code where this is relevant; unless I am just not understanding the example, still new to prototype, just read a book 2 weeks ago. Does anyone have any suggestions, I have included the code. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <style type="text/css"> .menuOptions li{ background-color: #999999; padding:5px; } .menuOptions { display:none; position:absolute; } img { border:none; } .rowHolder { width:49%; } .rowLeft { } .rowRight { } .menuLink { background:url(update/img/arrowDown.png) no-repeat right; padding:0px 15px 0 0; } ul { padding:0; margin:0; list-style:none; } ul li { padding:0; margin:0; } .saving img { vertical-align:text-bottom; } </style> <script type="text/javascript" src="/js/lib/prototype.js" ></script> <script type="text/javascript" src="/js/src/scriptaculous.js? load=effects,builder"></script> <script type="text/javascript"> //******* Summary *******// /* This function is used to open and close sub menus. The fucntion is called whenever the document is clicked. */ //**********************// var checkMenus = Class.create(); checkMenus.prototype = { // sets css classes and ids on window load initialize: function( menuLinkName, menuDivName, rowClassName, errorDiv ) { this.menuLinkName = menuLinkName; this.menuDivName = menuDivName; this.rowClassName = rowClassName; this.mainErrorDiv = errorDiv; }, // gets and sets ids in arrarys to be used in showMenuOptions findMenus: function(e) { var rowHolder = $A($$(this.rowClassName)); this.menuLinkArrary = $A($$ ( "a."+this.menuLinkName )); for( var i = 0; i<this.menuLinkArrary.length; i ++ ) { this.menuLinkNameSplit = this.menuLinkArrary[i].id.split( "-" ); this.newMenuDivNameID = this.menuLinkNameSplit.first() +"-"+this.menuDivName; this.newMenuLinkNameID = this.menuLinkNameSplit.first() +"-"+this.menuLinkName; this.showMenuOptions( e ); } }, // checks if menu target or id matches clicked area showMenuOptions: function( e ) { var target = (e && e.target) || (event && event.srcElement); if( target != $(this.newMenuDivNameID) && target != $ (this.newMenuLinkNameID) ) { $ (this.newMenuDivNameID).setStyle({ display: 'none' }); } else if ( target==$(this.newMenuLinkNameID) ) { $ (this.newMenuDivNameID).setStyle({ display: 'block' }); } }, // tries to move div into a different category addRemoveDiv: function( applicantID, divHolder ) { this.applicantID = applicantID; this.divContent = $ ( this.applicantID ).innerHTML; this.divHolder = divHolder; this.divMenuName = this.applicantID +"-"+this.menuDivName; new Ajax.Request( 'http://stepup.dbs.umt.edu/ testEcho.php', { method: 'post', parameters: "applicantID="+this.applicantID, onLoading: this.addRemoveDivLoading(this), onSuccess: this.addRemoveDivSuccess.bindAsEventListener(this) }); }, // ajax.request loading function addRemoveDivLoading: function() { $( this.applicantID ).update( "<span class='saving'>Saving...<img src='/update/img/saving.gif' /></span>" ); }, // ajax.request success function // copies html of current div and tries to a new category addRemoveDivSuccess: function() { var saveContent = "<div id='"+this.applicantID +"'>"; saveContent = saveContent + this.divContent; saveContent = saveContent + "</div>"; $( this.applicantID ).remove(); new Insertion.After( this.divHolder, saveContent ); $( this.divMenuName ).setStyle( { display: 'none' } ); } }; var newMenuLinks = new checkMenus( 'menuLink', 'menuOptions', '.rowHolder', 'mainError' ); Event.observe(document, 'click', function(event) { newMenuLinks.findMenus(event); }); </script> </head> <body> <div id='accept'> Accept <div id='1'>Name 1 <ul> <li id='1-rowHolder' class='rowHolder rowRight'> <a href="#2" id="1-menuLink" class='menuLink'>manage1</ a> <!--[if IE ]><br /><![endif]--> <ul id='1-menuOptions' class='menuOptions'> <li><a href='#' id='1-a' onClick="newMenuLinks.addRemoveDiv( '1', 'accept' );">accept</a></li> <li><a href='#' id='1-b' onClick="newMenuLinks.addRemoveDiv( '1', 'remove' );">remove</a></li> <li><a href='#' id='1-c' onClick="newMenuLinks.addRemoveDiv( '1', 'delete' );">delete</a></li> </ul> </li> </ul> </div> </div> <br /><br /> <div id='remove'> Decline <div id='2'>Name 3 <ul> <li id='2-rowHolder' class='rowHolder rowRight'> <a href="#2" id="2-menuLink" class='menuLink'>manage</ a> <!--[if IE ]><br /><![endif]--> <ul id='2-menuOptions' class='menuOptions'> <li><a href='#' id='2-a' onClick="newMenuLinks.addRemoveDiv( '2', 'accept' );">accept</a></li> <li><a href='#' id='2-b' onClick="newMenuLinks.addRemoveDiv( '2', 'remove' );">remove</a></li> <li><a href='#' id='2-c' onClick="newMenuLinks.addRemoveDiv( '2', 'delete' );">delete</a></li> </ul> </li> </ul> </div> </div> <br /><br /> <div id='delete'> Delete <div id='3'>Name 2 <ul> <li id='3-rowHolder' class='rowHolder rowRight'> <a href="#2" id="3-menuLink" class='menuLink'>manage</ a> <!--[if IE ]><br /><![endif]--> <ul id='3-menuOptions' class='menuOptions'> <li><a href='#' id='3-a' onClick="newMenuLinks.addRemoveDiv( '3', 'accept' );">accept</a></li> <li><a href='#' id='3-b' onClick="newMenuLinks.addRemoveDiv( '3', 'remove' );">remove</a></li> <li><a href='#' id='3-c' onClick="newMenuLinks.addRemoveDiv( '3', 'delete' );">delete</a></li> </ul> </li> </ul> </div> </div> <div id='loading'> </div> </body> </html> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Spinoffs" group. To post to this group, send email to rubyonrails-spinoffs@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-spinoffs?hl=en -~----------~----~----~----~------~----~------~--~---