He probado muchas cosas y he visto un comportamiento extraño en IE....
Creo que a la conclusión a la que he llegado es que no se puede enviar variables a un destino que no existe (destino.html que no existe).
Me ha funcionado lo siguiente:
Código PHP:
<script type="text/javascript">
function irConNombre(enlace) {
var nombre = prompt("Introduzca su nombre", "");
// Pedimos que nombre sea un número
if( isNaN(nombre) || (nombre=="") || (nombre==null) ) {
alert("Debe escribir un nombre");
}
else{
location.href = enlace.href+"?nombre="+nombre;
}
}
</script>
<a onclick="irConNombre(this); return false;" href="vacia.html" >envialo</a>.
Pero siempre y cuando vacia.html exista.
Un saludo.