Cuando ejecutas un evento sobre un enlace, no se deshabilita el comportamiento por defecto (en el caso de un enlace es, claro está, ir a esa página), por lo que tu código:
Código:
<a href="index.php?q=mostrar" onclick="q(this.value)">mostrar</a>
realiza la acción del onclick pero también te envía al enlace.
Para deshabilitar el comportamiento por defecto del enlace debes devolver false en la acción del onclick, es decir:
Código HTML:
<a href="index.php?q=mostrar" onclick="q(this.value);return false;">mostrar</a>
también puedes lograrlo haciendo:
Código HTML:
<a href="index.php?q=mostrar" onclick="return q(this.value);">mostrar</a>
Y modificas tu función
"q" para que quede así:
Código:
function q(...) {
//.... todo el código
return false;
}