Pues si da igual el hecho de recargar o no, te recomiendo (sobretodo si acabas de empezar) es hacer algo simple con php.
Algo así sería útil:
principal.php:
Código PHP:
Ver original<?php
$cv = "";
$proveedor = "";
$id_proveedor = "";
if(isset($_POST['rut'])){ $id_proveedor = $_POST['rut'];
}
$cv = $_POST['cv'];
}
if(isset($_POST['proveedor'])){ $proveedor = $_POST['proveedor'];
}
?>
<form id="form1" name="form1" method="post" action="rellenar.php">
<select name="id_proveedor" id="id_proveedor" onchange="submit();">
<!--aquí rellenas los posibles RUT con PHP y una consulta a la base de datos-->
<!--en el bucle que hagas para rellenar el input, pon un IF para comprobar si el dato que vas a poner es el que estaba seleccionado (esto servirá para cuando recuperes los datos y vuelva a la página) comparando con $rut. Si son iguales, pon el atributo "selected" en el campo, para que se marque como seleccionado-->
</select>
<input name="cv" type="text" id="cv" value="<?php echo($cv); ?>" size="3" />
<input name="proveedor" type="text" id="proveedor" value="<?php echo($proveedor); ?>" />
rellenar.php
Código PHP:
Ver original<?php
//recoges los datos CV y PROVEEDOR correspondientes al RUT seleccionado en principal, usando
//la clave (RUT) enviada. Para acceder a la clave enviada usamos $_POST['id_proveedor']
//guardamos los resultados en $auxCV y $auxProov
?>
<form name="auxiliar" id="auxiliar" method="post" action="principal.php">
<input type="hidden" name="rut" value="<?php echo($_POST['id_proveedor']?>" />
<input type="hidden" name="cv" value="<?php echo($auxCV); ?>" />
<input type="hidden" name="proveedor" value="<?php echo($auxProov); ?>" />
</form>
<script type="text/javascript">
document.auxiliar.submit();
</script>
Como ves el funcionamiento que te planteo es sencillo: cargas el formulario en principal.php.
Compruebas si tienes datos de vuelta. En caso de tenerlos, los pones en el formulario.
El select, en onchange tiene un método que hace que el formulario se envíe.
Cuando se envía, rellenar.php busca los datos correspondientes y los envía de vuelta por POST.
Al volver a principal.php, SÍ encontrará datos, y por tanto, los rellenará.
Espero que no sea demasiado complicado entenderlo... aquí en España son las 8 de la mañana y aún estoy algo dormido
(y quizás me he liado)
Saludos!