www.webdeveloper.com
Results 1 to 3 of 3

Thread: Internet Explorer Bug

  1. #1
    Join Date
    Jul 2010
    Posts
    5

    Internet Explorer Bug

    I am using the following script on a web page. I have found a workaround for all my previous issues, but the script wont work in internet explorer.

    Code:
    <script type="text/javascript">
    <!--
    	function TabView(id, current){
    		if(typeof(TabView.cnt) == "undefined"){
    			TabView.init();
    		}
    		current = (typeof(current) == "undefined") ? 0 : current;
    		this.newTab(id, current);
    	}
    	TabView.init = function(){
    		TabView.cnt = 0;
    		TabView.arTabView = new Array();
    	}
    	TabView.switchTab = function(TabViewIdx, TabIdx){
    		TabView.arTabView[TabViewIdx].TabView.switchTab(TabIdx);
    	}
    	TabView.prototype.newTab = function(id, current){
    		var TabViewElem, idx = 0, el = '', elTabs = '', elPages = '';
    		TabViewElem = document.getElementById(id);
    		TabView.arTabView[TabView.cnt] = TabViewElem;
    		this.TabElem = TabViewElem;
    		this.TabElem.TabView = this;
    		this.tabCnt = 0;
    		this.arTab = new Array();
    		// Loop throught the elements till the object with
    		// classname 'Tabs' is obtained
    		elTabs = TabViewElem.firstChild;
    		while(elTabs.className != "Tabs" )elTabs = elTabs.nextSibling;
    		el = elTabs.firstChild;
    		while(el.className != "Tab" ) el = el.nextSibling;
    		do{
    			if(el.className == "Tab"){
    				el.href = "javascript:TabView.switchTab(" + TabView.cnt + "," + idx + ");";
    				this.arTab[idx] = new Array(el, 0);
    				this.tabCnt = idx++;
    			}
    		}while (el = el.nextSibling);
    
    		// Loop throught the elements till the object with
    		// classname 'Pages' is obtained
    		elPages = TabViewElem.firstChild;
    		while (elPages.className != "Pages")elPages = elPages.nextSibling;
    		el = elPages.firstChild;
    		idx = 0;
    		do{
    			if(el.className == "Page"){
    				this.arTab[idx][1] = el;
    				idx++;
    			}
    		}while (el = el.nextSibling);
    		this.switchTab(current);
    		// Update TabView Count
    		TabView.cnt++;
    	}
    	TabView.prototype.switchTab = function(TabIdx){
    		var Tab;
    		if(this.TabIdx == TabIdx)return false;
    		for(idx in this.arTab){
    			Tab = this.arTab[idx];
    			if(idx == TabIdx){
    				Tab[0].className = "ActiveTab";
    				Tab[1].style.display = "block";
    				Tab[0].blur();
    			}else{
    				Tab[0].className = "InactiveTab";
    				Tab[1].style.display = "none";
    			}
    		}
    		this.TabIdx = TabIdx;
    	   
    	}
    	function init(){
    		t1 = new TabView('TabView1', 0);
    		t2 = new TabView('TabView2', 1);
    	}
    -->
    </script>
    The error message is:

    Message: Object required
    Line: 106
    Char: 3
    Code: 0
    URI: http://choicez.com.au/endorsements

    As far as I can tell, the variable "el" in the script is not being given a value. This is not a problem in any other browser. Can someone please help? This is very urgent.

    Cheers

    Alex

  2. #2
    Join Date
    Dec 2003
    Location
    Bucharest, ROMANIA
    Posts
    15,428
    Your code won't work, no matter the browser.
    Code:
    t2 = new TabView('TabView2', 1);
    There is no element with the id="TabView2" on your document

  3. #3
    Join Date
    Jul 2010
    Posts
    5
    Nope, that wasn't it. I took that line out, and it still didn't work on IE.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles