Can a OnClick call multiple functions?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cheenna

    Can a OnClick call multiple functions?

    Code:
    <script language="javascript">
    	var numLinesAdded = 0;
    	var numLinesRemove = 0;
      	function generateRow(){
     		
    		var d = document.getElementById("div");
    		var newDiv = document.createElement("newDiv");
    		
    		newDiv.setAttribute("id", "newDiv_"+numLinesAdded);
    		d.appendChild(newDiv);
    		
    		
    		var divId=document.getElementById("newDiv_"+numLinesAdded);
    		divId.innerHTML+="<br/> <table ><tr><td><input type='text' id='txt_" + numLinesAdded + "' name='txt_" + numLinesAdded + "' value=''>&nbsp;&nbsp;</td><td><div id='filename_" + numLinesAdded + "'>&nbsp;&nbsp;<img src='../../images/delete.png' id='rem"+ numLinesAdded + "' name='rem" + numLinesAdded + "'  onclick='removeDiv("+ numLinesAdded +")'/></div></td></tr></table> ";
    		
    		numLinesAdded++;
    		document.getElementById("countId").value = numLinesAdded;
    		
    		
    	}
    	
    	function removeDiv(idCount){
    		
    	    var d = document.getElementById('div');
    		    var newDiv = document.getElementById("newDiv_"+idCount);
    	    d.removeChild(newDiv);
    	    numLinesRemove++;	
    	}
    	
    	
    	
    </script>
    
    
    <script language="javascript">
    
     function FindDuplicates( var Textboxes ){
        var valueList = new Array();
    
        for( tb in Textboxes )
            valueList.push( tb.value );     
     
        if( valueList.length > 1 ) 
        {
            for( i = 0; i < valueList.length-1; i++ )
                 if( valueList[i] == valueList[i+1] )
                     alert( "The value " + valueList[i] + " appears more than once." );
        }
    }
    
    </script>
    Last edited by Dormilich; Nov 3 '10, 10:44 AM. Reason: please use [CODE] [/CODE] tags when posting code
  • Dormilich
    Recognized Expert Expert
    • Aug 2008
    • 8694

    #2
    you can do that, though that requires that you either wrap all functions into one or use an Event Listener.

    ex.
    Code:
    elem.onclick = function (evt) {
        func1();
        func2();
    }
    Code:
    // W3C, does not work in IE
    elem.addEventListener("click", func1, false);
    elem.addEventListener("click", func2, false);

    Comment

    • hsriat
      Recognized Expert Top Contributor
      • Jan 2008
      • 1653

      #3
      Or use a combination of addEventListner and attachEvent.
      Read this to see how exactly it works.

      Comment

      • Dormilich
        Recognized Expert Expert
        • Aug 2008
        • 8694

        #4
        bear in mind that the usage of attachEvent() comes with several disadvantages (this = window, no event capturing, random execution order)

        Comment

        Working...