Never been to CodeSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

javascript :: create an xml request object

javascript :: create an xml request object

/* create an xml request object */
function createRequest() 
{
   try
   {
      /* Firefox */
      req = new XMLHttpRequest();
   } 
   catch(err1) 
   {
      try 
      {
         /* some versions IE */
         req = new ActiveXObject("Msxml2.XMLHTTP");
      } 
      catch (err2)
      {
         try 
         {
            /* other versions IE */
            req = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch (err3)
         {
            req = false;
         }
      }
   }
   return req;
}

CSS objet to manipulate classes

Provides 3 functions to manipulate CSS in a element
css.hasClassName(elem, className);
css.addClassName (elem, className);
css.removeClassName (elem, className);

var css = function() {
	var private_var;
	function private_method() {
		// do stuff here
	}
	return {
		hasClassName : function(elem, className) {
			return (elem.className.indexOf(className) != -1);
		},
		addClassName : function(elem, className) {
			this.removeClassName(elem, className);
			elem.className = (elem.className + " " + className).trim();
		},
		removeClassName : function(elem, className) {
			elem.className = elem.className.replace(className, "").trim();
		}
	};
}();

Integrate trim() into any String

Adds the trim() function to all String objects

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/, "");
}

Javascript String Replace

just like php's str_replace

var visitorName = "Chuck";
var myOldString = "Hello username! I hope you enjoy your stay username.";
var myNewString = myOldString.replace("username", visitorName);

document.write("Old string =  " + myOldString); 
document.write("<br />New string = " + myNewString);

Fire Event With Listener

If you need to fire off an event but it is currently handled by an event listener.

more information here http://www.howtocreate.co.uk/tutorials/javascript/domevents


var fireOnThis = document.getElementById('someID');
if( document.createEvent ) {
  var evObj = document.createEvent('MouseEvents');
  evObj.initEvent( 'mousemove', true, false );
  fireOnThis.dispatchEvent(evObj);
} else if( document.createEventObject ) {
  fireOnThis.fireEvent('onmousemove');
}

Javascript Event Listeners

Add event listeners for all browsers at once.
##
Not my own code but works like a charm!
##
//*** This code is copyright 2003 by Gavin Kistner, gavin@refinery.com
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
//*** Reuse or modification is free provided you abide by the terms of that license.
//*** (Including the first two lines above in your source code satisfies the conditions.)


//***Cross browser attach event function. For 'evt' pass a string value with the leading "on" omitted
//***e.g. AttachEvent(window,'load',MyFunctionNameWithoutParenthesis,false);

function AttachEvent(obj,evt,fnc,useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
} 

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}

Javascript Trim Functions

Examples of full trim, left trim, and right trim for javascript.

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

// example of using trim, ltrim, and rtrim
var myString = " hello my name is ";
alert("*"+trim(myString)+"*");
alert("*"+ltrim(myString)+"*");
alert("*"+rtrim(myString)+"*");

Get Arguments Passed To A Function

Javascript function can accept arguments which are not specified in the parameter list

function someFunc()
{
var firstArg = someFunc.arguments[0];
var secondArg = someFunc.arguments[1];
....
}

Create Javascript Object

Use objects for lists

var obj = {
"elem": document.getElementById('id'),
"description": "here's a description"
};

xmlhttp with testing for various ie versions

var xmlHTTP = getXMLHTTP();

if (xmlHTTP) {
    xmlHTTP.async = false;
    xmlHTTP.open('get', 'http://google.com/');
    xmlHTTP.send(null);

    if (xmlHTTP.status == 200) {
        var data = xmlHTTP.responseText;
    }
}

function getXMLHTTP()
{
    if ((typeof XMLHttpRequest) != "undefined") {
        /* XMLHTTPRequest present, use that */
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        /*  there are several versions of IE's Active X control, use the most recent one available */
        var xmlVersions = ["MSXML2.XMLHttp.5.0",
                           "MSXML2.XMLHttp.4.0",
                           "MSXML2.XMLHttp.3.0",
                           "MSXML2.XMLHttp",
                           "Microsoft.XMLHTTP"];

        for (var x = 0; x < xmlVersions.length; x++) {
            try {
                var xmlHTTP = new ActiveXObject(xmlVersions[x]);
                return xmlHTTP;     
            } catch (e) {
                //continue looping
            }
        }
    }

    /* if none of that worked, return false, to indicate failure */
    return false;
}