+3  A: 

I was able to get this to work within a table (I know, but it works) where it would correctly handle page resizing as well as the value of the button changing:

<table class="elastic">
    <tr>
        <td><input class="textbox" type="text"></td>
        <td class="button"><input type="button" value="Test Button"></td>
    </tr>
</table>

There may be a <div> alternative out there for styling.

EDIT: I revamped my example to use the following style sheet:

.elastic { width:100%; }
.elastic .textbox { width: 100%; }
.elastic .button { width: 1%; }
CAbbott
I was trying to avoid tables but I guess that's the best/only way to achieve what I want. Thanks.
Josef
A: 

It's hard to give a definitive answer without seeing some code but the following will size the input 50% of the browser width with the button next to it.

input {width:50%}

<input>
<button>save</button>
Emily
..but I want the textbox to be 'the rest of the available width', not a fixed percentage of the brwoser width?
Josef
A: 

HTML:

<div class="widebox">
  <input type="text" value="" />
  <button>Button</button>
</div>

jQuery:

<script type="text/javascript">
$(document).ready(function(){
  var w = $(".widebox");
  $(".widebox input:text").css({ width: (w.width - (w.children("button:first").width + 20)) });
});
</script>

Note: Be sure to include the jQuery library in your document's <head>. For speed I recommend using the one hosted by Google: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js

NGJ Graphics