your second solution is possible -- with ajax. try this:
HTML:
<input type='text' id='field1' /> <input type='button' value='go'
onclick='ajaxpage("/path/to/php/script.php?field1="+document.getElementById('field1').value ,"results")' />
<div id='results'></div>
JavaScript:
var root = 'http://www.yoursite.com';
function ajaxpage(url, containerid){
var page_request = false;
document.getElementById(containerid).innerHTML = "Loading...";
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest();
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){}
}
} else return false;
page_request.onreadystatechange=function(){
loadpage(page_request, containerid);
}
page_request.open('GET', root+url, true);
page_request.send(null);
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText;
}
PHP:
<?php
// Do something with the data, then print some output.
echo $_GET['field1'];
?>