Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Oh and to post some actual code...

Definitely not _the_ most beautiful code I've written, but I still enjoy this little function for some reason. It's just pretty to me.

  function addparams(query) {
      return query.replace(/(&?)([^&=]+)=([^&]*)/g, function(m, amper, key, id) {
          var val = document.getElementById(id).value;
          return val.length > 0 ? amper + key + "=" + escape(val) : '';
      });
  }
All it does is take a query string template of sorts, grab the values to plug in, and then return an actual query string. For instance, if you had this on your page somewhere:

  <input type="text" id="first" value="defaultfirst"/>
  <input type="text" id="last" value="defaultlast"/>
Then we used it when doing some kind of ajax update. Assuming jQuery, (although that wasn't the case) something like this:

  $.ajax({
    url: "/path/to/page",
    data: addparams("fn=first&ln=last")
  });
Which would make an xhr GET request to:

  /path/to/page?fn=defaultfirst&ln=defaultlast
Nothing remotely complicated or amazing like the regex that finds prime numbers or the 12 line quicksort, but I just think the function is aesthetically pleasing.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: