ehm....presumo che tu voglia passare la variabile s dalla pagina col form alla pagina ricerca.html...questo non è possibile,almeno non nella maniera semplice che ti aspetteresti. Che le pagine html linkino lo stesso file .js non vuol dire che passando da una pagina all'altra i valori delle variabili vengano mantenuti,non è quello il significato di variabile globale.
Puoi passare una stringa da una pagina all'altra usando un cookie oppure attraverso la barra degli indirizzi (nella query string).
Se invece vuoi mettere tutto il codice nella stessa pagina, devi fare in modo che cliccando sul tasto "cerca" non si passi alla pagina ricerca.html. Questo puoi farlo semplicemente, basta che la funzione controlla() restituisca sempre false. Ma ci sono comunque altri errori sparsi:
-il form deve ,invece dell'attributo name, deve avere l'attributo id.
-ricerca.stringa.value magari funzionerà pure con quella porcheria di IE, ma non è certo il modo corretto e non funzionerà con browser seri. Usa invece ad esempio document.getElementById('ricerca').elements('strin ga').value per prendere la stringa inserita nel campo text.[EDIT]Per fare questo devi dare un id anche agli elementi input,oltre che all'elemento form[/EDIT]
-il controllo ricerca.stringa.value <= 0 non ha molto senso, è come fare "cercami" <= 0 (restituirà sempre false, comunque). Probabilmente vuoi controllare se l'utente ha scritto qualcosa nel campo, allora devi fare document.getElementById('ricerca').elements('strin ga').value.length == 0 , cioè controlli se la _lunghezza_ della stringa è uguale a 0.
- ret_str() viene eseguita subito,senza aspettare che l'utente clicchi sul tasto Cerca, quindi siccome hai inizializzato s="", stamperà una stringa vuota,nel caso i due codici siano nella stessa pagina, o darà errore di variabile non definita e inizializzata nel caso i due codici si trovino in pagine diverse.

Rispondi quotando