It is rather simple. Here is the method I use:
Code:
<div id="linkinput" style="background-image:url(images/images_09.png);">
<input type="text" style="background-color: transparent; border: solid 0px #FFF;" maxlength="100" name="site"/>
</div>
It will require a little tweaking to make sure the box is positioned right and the DIV is the correct size. But what this effectively does is it creates a div with your background image. This div then contains the form input box, but the input box is actually completely transparent, minus the text.
There may be a simpler way to do it, but this works for me.
You can see and example of it here:
http://www.gusmayo.gwgaming.net/
I use it on my shoutbox inputs.