home *** CD-ROM | disk | FTP | other *** search
/ Nintendo GameCube Preview CD-ROM / NINTENDOGAMECUBE.iso / site / js / query.js < prev    next >
Text File  |  2001-06-04  |  1KB  |  31 lines

  1. // Build an associative array with all name and value pairs in a 'get' query string
  2. function getSearchAsArray() {
  3.     var searchQuery = new Array;
  4.     var pair;
  5.     var temp;
  6.     var search = location.search;
  7.     
  8.     // replace all '+'s with ' 's because unescape() doesn't do it
  9.     search = search.replace(/\+/g, ' ');
  10.     
  11.     // for each pair, separate, unescape and place into the associate array
  12.     var split = 1;
  13.     while (split > 0) {
  14.         split = search.lastIndexOf('&');
  15.         if (split == -1) split = 0;
  16.         pair = search.substring(split + 1, search.length);
  17.         
  18.         // multiple select values should be placed in an array
  19.         if (searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] != null) {
  20.             temp = searchQuery[unescape(pair.substring(0, pair.indexOf('=')))];
  21.             searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] = new Array(temp, unescape(pair.substring(pair.indexOf('=') + 1)));
  22.         }
  23.         
  24.         // all other form elements have a one-to-one name and value relationship
  25.         else searchQuery[unescape(pair.substring(0, pair.indexOf('=')))] = unescape(pair.substring(pair.indexOf('=') + 1));
  26.         
  27.         search = search.substring(0, split);
  28.     }
  29.     return searchQuery;
  30. }
  31.