Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Script JS su FF e IE

  1. #1

    Script JS su FF e IE

    Salve,
    ho questo script JS:

    Codice PHP:
    function pass()
    {    var 
    num document.getElementById('num_pass').value;
        
    document.getElementById('pass').style.display='block';
        
        if(
    num=='Seleziona...'document.getElementById('pass').style.display='none';
        else
        {    for(
    i=0;i<10;i++)
            {    if(
    i<num)
                    
    document.getElementById('pass_' i).style.display='block';
                else
                    
    document.getElementById('pass_' i).style.display='none';
            }
        }
        if(
    parseInt(num)>2document.getElementById('tre').style.display='block';
                else 
    document.getElementById('tre').style.display='none';

    Che richiamo in questo modo:

    Codice PHP:
    echo "<div style=\"float:right;margin-right:5px\">";
    echo 
    "<div class=\"PASSEGGERI\">

    <label for=\"n\" style=\"color:#CCCCCC\">Numero passeggeri</label>"
    ;
    echo 
    "<SELECT name=\"Pass\" id=\"num_pass\" onchange=\"pass()\" style=\"font-weight:bold\">";
    echo 
    "<OPTION value=\"Seleziona...\"> Seleziona... </OPTION>";
    for(
    $i=1;$i<=10;$i++)
    echo 
    "<OPTION value=\"$i\">$i</OPTION>";
    echo 
    "</SELECT></p></div>  ";
    echo 
    "</div>"

    Però ho notato che funziona con Mozilla Firefox e non su Internet Explorer!

    C'è qualcosa di sbagliato?

    Grazie
    Mantisworks.net - Soluzioni dal web per il web!
    SEO, SEM, Software, Siti internet, Grafica e Multimedia

  2. #2
    C'è qualcosa di sbagliato?
    Certo, che c'&egrave; qualcosa di sbagliato, in Internet Explorer!
    Per quanto riguarda i campi delle form, Internet Explorer "ha" i name e gli id nello stesso namespace, quindi se tu esegui:
    Codice PHP:
        document.getElementById('pass').style.display='block'
    Qual &egrave; l'oggetto che prender&agrave; .style.display='block'?
    Normalmente dovrebbe essere (ed &egrave; in tutti i browsers 'seri') l'oggetto che ha id uguale a 'block', ma in Internet Explorer, se c'&egrave; un campo di una form che ha name uguale a 'block', beh, quello &egrave; l'oggetto!

    Soluzione?
    Beh, io di solito metto name = id, cos&igrave; non ci penso pi&ugrave;
    Ti consiglio di modificare il tutto in maniera che, a causa di Internet Explorer che ha i names e gli id dei campi delle forms nello stesso namespace, non ci siano MAI due oggetti che hanno rispettivamente name uguale a id dell'altro!
    Un'ultima cosa: Internet Explorer &egrave; case independent nella ricerca di un oggetto con la getElementById(), quindi fare:
    Codice PHP:
    var document.getElementById('pass'); 
    restituir&agrave; anche il campo della form che ha name='Pass', ma anche name='PASS' e cos&igrave; via...

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.