Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    comportamento di mozilla con href="#

    salve,
    con questo codice

    <html>
    <head>
    <title></title>
    <script>

    function conferma() {
    if (confirm("1° vuoi accedere all'altra pagina chiamata pag.html?"))

    {
    location.href = "pag.html"
    }
    else (false)
    }

    </script>
    </head>
    <body>

    window.confirm




    <input type="button" onClick="conferma()" value="window.confirm" >

    </body>
    </html>

    mi appare nella pagina sia una scritta ("window.confirm") che un

    bottone che ha la stessa funzione della scritta e cioè fare apparire

    una finestra di dialogo con la quale scegliere se andare in un'altra

    pagina (chiamata "pag.html") oppure annullare il tutto.

    Con IE6 ed Opera7 funziona tutto bene. Con Mozilla1.5 funziona tutto

    bene solo se la "finestra di dialogo" (la "window.confirm") viene

    attivata dal bottone, ma non se viene attivata cliccando sulla scritta.

    La finestra appare, ma al click sull' "OK" non cambia pagina. Eppure il

    comportamento dovrebbe dipendere solo dalla finestra di dialogo e non

    dalla fonte della sua attivazione.
    Tutto invece torna normale se dal codice della pagina viene

    completamente cancellato il
    href="#" presente sul primo onClick, ma inserito href="pag.html"

    E' evidente allora che nello scrivere href="#" vi deve essere

    un'anomalia.
    quale è una spiegazione tecnica?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    L'errore e` nella funzione. Va scritta cosi`:
    codice:
      if (confirm("1° vuoi accedere all'altra pagina chiamata pag.html?")) {
        window.location.href = "pag.html";
      }
      return false;
    }
    L'errore e` il (false) che da solo non vuol dire nulla.
    Ho tolto il return false; dall'if, perche` e` meglio se viene comunque ritornato un false (in qualche browser ci potrebbero essere effetti collaterali, se il link ritorna true)

    La chiamata andrebbe poi scritta:
    window.confirm

    in modo che non venga poi intrpretato l'href del link in caso di ritorno negativo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.