Credo che non dipenda da questo.


function controlla_cerca()

{
campo=document.search.ricerca.value
if (campo===""){
alert ("Inserisci una parola nella casella di ricerca")
document.search.ricerca.focus()
return false;
}
else
document.search.submit()
}

....onClick="return controlla_cerca();">

Dovrebbe essere uguale a

function controlla_cerca()

{
campo=document.search.ricerca.value
if (campo===""){
alert ("Inserisci una parola nella casella di ricerca")
document.search.ricerca.focus()
return;
}
else
document.search.submit()
}

...onClick="controlla_cerca();return false;">

Il form lo invio correttamente in entrambi i modi.



Il problema sembra essere che l'action non faccia in tempo a leggere il valore document.search.ricerca.value.
Forse andrebbe associato ad un evento o ad una funzione.
E' possibile associare l'action di un form ad un evento oppure inserirlo in una funzione?
Del tipo:

function controlla_cerca()

{
campo=document.search.ricerca.value
if (campo===""){
alert ("Inserisci una parola nella casella di ricerca")
document.search.ricerca.focus()
return;
}
else
document.search.action="cerca.asp?parola="+campo+" "
document.search.submit()
}