Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54

    tabella dinamica e variabili percorso...

    Ciao a tutti, vi posto un frammento di una mia funzione javascript che parte in seguito al "onclick" su un button.
    La variabile indice è relativa al numero d'ordine delle options di un menu <select> di un <form>. In base all'option selezionata la variabile film assume il valore indicato nel switch sottostante. Successivamente film si concatena con altre stringhe (è il codice in verde) per formare un percorso dove andare a recuperare immagini jpg da collocare nelle caselle della tabella creata in fondo alla funzione con un doppio for. In fondo alla funzione (parte in rosa) stampo il varole della variabile path per verificare che il percorso sia giusto, e in effetti tutto è corretto.
    Il problema è che le mie immagini non vengono caricate nella tabella. Ribadisco che i percorsi sono giusti, quindi il problema potrebbe essere nella parte che ho segnato in arancio, ovvero nell'attributo src che non riesce a riconoscere la variabile path come percorso... Sapete aiutarmi? Ho provato anche a mettere in "<img src=..." al posto di path l'espressione che le ho assegnato, ma le immagini non si caricano lo stesso.
    Grazie per l'attenzione.

    codice:
    function seleziona()
    {
       var indice = document.galleria.immagine.selectedIndex;
       var film;
         switch (indice) {
       case 0:
         document.write('<a href="#"> Scegli una locandina<\/a>');
         break;
       case 1:
         film="ritmonnezza";
         break;
       case 2:
         film="oldboy";
         break;
       case 3:
         film="lecrociate";
         break;
       case 4:
         film="hipnos";
         break;
       case 5:
         film="lucinotte";
         break;
       case 6:
        film="caduta";
         break;
       case 7:
        film="becoll";
         break;
       case 8:
        film="amityville";
         break;
       default:
        film="";
       }
       var path;
       document.write('<table align="center" border>');
       for(i=0;i<5;i++) {
          document.write('<tr>');
          for(j=0;j<5;j++) {
    	path="./locandine/"+film+"/"+film+"_"+i+"_"+j+".jpg";         document.write('<td><img src=path alt="">'); 
          }
    		  document.write('<\/tr>');
       }		 
       document.write('<\/table>');	
       	 document.write(path); 
     }

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi usare il metodo write() in una pagina gia' visualizzata... sovrascrive la pagina esistente (e tutti i sui script e riferimenti)

    Dovresti utilizzare il metodo innerHtml()... fai una ricerca nel forum.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54

    uhm...

    Senti, non sono molto esperto però, se ho capito bene quello che intendi, il fatto che la pagina sia già visualizzata e che venga sovrascritta non è un problema.
    Se scrivo lo stesso codice con al posto della varibile path un percorso fisso, l'immagine (un'unica immagine) mi viene caricata in ogni cella della tabella, quindi presumo che non sia un problema di document.write, ma di riuscire a passare il percorso all'attributo "src" del tag <image>...
    Altri suggerimenti?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54
    Vorrei evitare di usare innerhtml() perché non l'ho mai visto.
    Mi spiego meglio. La tabella si compone di 25 caselle ed ogni gif è nominata in questo modo: "nome_immagine_i_j.jpg" dove i e j sono numeri da 0 a 4. Nel comporre la tabella devo ripescare le varie immagini in modo da inserirle nelle celle.
    Ho fatto varie prove e mi sono accorto che se inserisco un src fisso ed esplicito relativo ad un'immagine, quest'ultima viene caricata in tutte le celle della tabella. Per questo penso che DEBBA essere possibile caricare la giusta immagine in ogni cella...

    Aspetto consigli!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54
    La tabella viene visualizzata con delle x nelle celle, le tipiche x che appaiono in una pagina web al posto di un'immagine che non può essere caricata...

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova a mettere il path completo... secondo me attualmente le sta cercando sul tuo HD

    path="http://www.tuosito.it/locandine/"+film+"/"+film+"_"+i+"_"+j+".jpg";

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54
    Già provato:
    ho messo path = ./locandine/"+film+"/"+film+"_"+i+"_"+j+".jpg"; (./ perché la cartella locandine si trova alla stessa altezza del file .js che contiene la funzione).

    Ripeto, per chiarezza, che se metto un percorso esplicito (senza l'uso di stringhe concatenate) del tipo
    ./locandine/ritmonnezza/ritmonnezza_1_3.jpg, l'immagine viene visualizzata correttamente...

    E' possibile che sia un problema di virgolette?
    Riassumendo:

    document.write('<td> <img src=path>'); ----> non va
    document.write('<td> [img]./locandine/[/img]'); ---> non va
    document.write('<td> [img]percorso_completo/nome_immagine_x_y.jpg[/img]'); ---> va ma non mi serve...

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54
    Provo a riesporre brevemente il problema per tutti (mi rendo conto che sono stato dispersivo nel primo post)....

    Una mia funzioncina javascript deve produrre una tabella 5x5 in cui venga caricata una particolare immagine in ogni cella, attraverso il seguente codice:

    document.write('<table align="center" border>');
    for(i=0;i<5;i++) {
    document.write('<tr>');
    for(j=0;j<5;j++) {
    path="./locandine/"+film+"/"+film+"_"+i+"_"+j+".jpg";
    document.write('<td><img src=path >');
    }
    document.write('<\/tr>');
    }
    document.write('<\/table>');

    Il problema è che le immagini non vengono caricate (nelle celle compaiono le x tipiche di un'immagine non accessibile)...

    Premetto che i percorsi relativi sono corretti e che sostituisco un percorso esplicito nell'attributo src del tag img, l'immagine viene caricata (però ho la stessa immagine in tutte le celle, il che non mi serve!)...

    Accetto consigli, grazie...

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Verifica e riferisci cosa viene visualizzato facendo

    alert(path)

    prima della document.write()

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    scusate magari sto cannando, ma anche se il js scrive un tag
    <img> dentro la pagina... non dovrebbe succedere nulla, poiche' la pagina e' stata caricata e il js e' eseguito nel pc dell'utente. no?
    si vivono molte vite e si muore una volta sola

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 © 2024 vBulletin Solutions, Inc. All rights reserved.