67 messaggi dal 17 luglio 2002
Salve, Ho un JScript che mi serve per effettuare una selezione da un listbox e reindirizzare alla pagina selezionata. Su MS IE funziona perfettamente, ma su Firefox non ne vuole sapere. Non funziona neanche sui browsers dei palmari (symbian e windows mobile 200x).
Questo è il JScript incriminato:

<SCRIPT Language="JavaScript">
document.all["IdFunzioneProfilo"].onchange=doFunzionigeneriche;
function doFunzionigeneriche()
{
window.location = "./Redirezione.asp?ID="+document.all["IdFunzioneProfilo"].value;
}
</SCRIPT>

Perchè non funziona ed eventualmente, come dovrei modificarlo per renderlo compatibile con tutti i browsers?
Grazie
Prova questo:
<script type="text/javascript">
document.getElementById("IdFunzioneProfilo").onchange = doSomething;
      
function doSomething()
{
  window.location = "./Redirezione.asp?ID=" + document.getElementById("IdFunzioneProfilo").value);
}
</script>


Ciao!
67 messaggi dal 17 luglio 2002
cradle ha scritto:
Prova questo:
<script type="text/javascript">
document.getElementById("IdFunzioneProfilo").onchange = doSomething;
      
function doSomething()
{
  window.location = "./Redirezione.asp?ID=" + document.getElementById("IdFunzioneProfilo").value);
}
</script>


Ciao!

Ti ringrazio cradle, ma purtroppo non funziona nemmeno così
Eh no! non puoi dirmi questo! L'ho provato prima di scriverlo!!  Che errore ottieni?
67 messaggi dal 17 luglio 2002
Nessun errore. In pratica non da alcun segno di vita.
Sfortunatamente nn posso postare alcun link in quanto la
pagina in questione gira su una rete chiusa. Questo è quello
che fa lo script: C'è un listbox con i records di una tabella
contenente un link ad una pagina per ogni record.
Nell'evento onchange parte lo script che redireziona alla pagina
corrispondente al record selezionato nel listbox.
Su Firefox non da ne errori, ne cenni di vita mentre su IE 6.x funge.
Ho pensato al diverso DOM riconosciuto dai browsers, ma nonostante
abbia sostituito il document.all con il document.getElementById come
da te suggerito, non è cambiato nulla.
Whooops, sorry, m'è scappata una parentesi in più dopo value nel cutpaste, sorry

Questo snippet in basso funziona con IE e FF, prova:
<html>
  <body>
    <select id="list">
      <option value="aa">First Item</option>
      <option value="bb">Second Item</option>
      <option value="cc">Third Item</option>
    </select>
    
    <script type="text/javascript">
      document.getElementById("list").onchange = doSomething;
      
      function doSomething()
      {
        window.location = "./Redirezione.asp?ID=" + document.getElementById("list").value;
      } 
    </script>
  </body>
</html>


In ogni modo, per aiutarti nello sviluppo client-side su FF, ti consiglio di scaricare Firebug (https://addons.mozilla.org/firefox/addon/1843) mentre per il debug su IE puoi usare la Web Developer Toolbar (http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en).

Ciao!
Modificato da Cradle il 16 settembre 2008 10.28 -
67 messaggi dal 17 luglio 2002
Grazie per la tua pazienza Cradle. Alla fine dopo tante peripezie ne sono venuto a capo così:

<script type="text/javascript">
Funzioni.IdFunzioneProfilo.onchange = doSomething;
function doSomething()
{
window.location = "./Redirezione.asp?ID=" + Funzioni.IdFunzioneProfilo.value;
}
</script>
In pratica grazie allo strumentino che tu mi hai consigliato (Il Firebug), ho scoperto che il valore passato dallo script era sempre null così mi è venuto in mente di cambiare radicalmente strategia.
Invece di usare il document.getElementById ho provato ad usare il (nome del form).(il nome delparametro) e come d'incanto, tutto ha preso a funzionare.
Grazie ancora per il tuo prezioso aiuto.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.