Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Links e href

  1. #1

    Links e href

    In una pagina ho due link, uno disattivo (cioè è un <a> senza href, ma ha un name), l'altro apre una popup.
    Dalla popup, devo modificare il valore dell'href del tag <a> disattivo.
    Ho provato:

    self.opener.document.links['nome_link_disattivato'].href='pagina.htm';

    ma mi dice che il link 'nome_link_disattivato' non ha proprietà! Come faccio???

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    scrivi window.opener al posto di self.opener
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3

  4. #4
    Dunque, se mi scorro l'array di tutti i links della pagina che apre la popup con:

    for ( i=0; i<self.opener.document.links.length; i++ ) {
    alert ( self.opener.document.links[i].href );
    }

    mi stampa giustamente tutti gli href...
    se invece faccio riferimento ai link con il loro name, mi da errore! Ma perché???

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perche' links e' la collezione dei link, fai riferimento ad uno di essi per indice, non per name
    (x intenderci non e' la stessa cosa che images, che accetta tanto stringhe quanto interi)

    identificalo con id e accedivi via document.getElementById('id')

    ciao

  6. #6
    Mi hai preceduto! Stavo giusto postando la soluzione con getElementById

    element = self.opener.document.getElementById('id_link_non_a ttivo');
    element.href='pagina.htm';

    ora però vorrei poter modificare allo stesso modo anche gli attributi onclick, onmouseover e onmouseout dello stesso link.
    Ho provato:

    element.onClick = "fai_qualcosa";
    element.onMouseOver = "fai_qualcosa";
    element.onMouseOut = "fai_qualcosa";

    ma naturalmente non funziona...

  7. #7
    ehm... a dire il vero ho provato:

    alert ( element.onClick );
    element.onClick="fai_qualcosa";
    alert ( element.onClick );

    al primo alert ovviamente mi stampa una stringa vuota, mentre al secondo alert mi stampa "fai_qualocsa"... però poi se clicco sul link non succede nulla...

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    element.onclick=function(){alert('fai qualcosa');}

  9. #9
    :master:

    Ho messo:
    element.onclick = function() { alert ( "fai_qualcosa" ); }
    ma mi da:

    Errore: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowInternal.alert]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/........ :: anonymous :: line 28" data: no]


  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    posta tutto

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.