Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    2

    [DOM] Modificare il nodo anchor al click e bloccare l'evento default

    Ciao a tutti,

    ho una situazione un po' particolare.
    Il sito in questione ha un bottone (una <a>nchor con una bandierina del linguaggio attuale) per cambiare il linguaggio auto-selezionato in base alla provenienza dell'utente. Se JS fosse disattivato, il link conduce alla pagina dei settaggi, ma qualora fosse abilitato, invece, vorrei fare che al click del mouse sul bottone, appare la lista delle lingue (in seguito penserò a gestire la selezione).

    Questo è l'elemento contenente la bandierina:
    e questa la funzione changeLanguage():
    codice:
    function changeLanguage() {
      if (document.getElementById) {
        var el = document.getElementById('flags');
        el.innerHTML = "ciao"; 
      }
    }
    Tutto o quasi funziona, nel senso che fino a quando mi limito a reperire il nodo "flags" quel "return false;" mi blocca l'evento default, ma quando alla funzione aggiungo proprio l'innerHTML l'evento default viene eseguito e quindi non riesco nemmeno a vedere il risultato che vengo trasportato nella pagina dei settaggi.

    Ora mi chiedo cosa sbaglio?

    PS. non stò usando una libreria JS per vari motivi (tra cui didattici) con cui non voglio annoiarvi.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto.
    Se è come esposto deve funzionare e il href è bloccato se non è cosi l'errore/problema sta altrove posta la pagina pubblica demo da testare e la strada più breve e risolutiva (quasi sempre) per questo tipo di "anomalie"
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    errori personalmente non ne vedo in quello che hai postato
    ma e' probabile che si stia verificando un errore, quindi testa con firefox e controlla che non ci siano errori con la console javascript o firebug

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    2
    che strano, mentre preparavo la pagina di test mi sono accorto che riavviando il servizio del webserver tutto ha preso a funzionare correttamente.

    In background uso Python (e stavo sistemando i dns per permettere l'accesso al server), e attualmente per il develop stò usando il webserver Paster, mi è già sembrato di vedere più volte che senza riavviare il servizio non aggiorna tutti i file mi sà che la colpa è della cache dei template che non è stata ripulita correttamente.

    Mi sembrava infatti un errore strano, ma visto che JScript l'ho ripreso dopo un buon annetto di totale assenza, pensavo di aver tralasciato qualcosa.

    Grazie mille ad entrambi per la vostra disponibilità, e ringrazio anche Xinod per il suggerimento riguardo a Firebug, non ci avevo pensato

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.