Visualizzazione dei risultati da 1 a 5 su 5

Discussione: passaggio di stringhe

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253

    passaggio di stringhe

    Ciao ragazzi!!
    Buon mercoledì mattina!
    Sto chiarendo tanti aspetti di js!
    Vorrei chiedervi una piccola dritta su una cosa che ho fatto per imparare ad usare un po' gli array in js...
    in pratica sono due combo di cui la seconda dipenda dalla prima...
    eccoil link!
    http://elisamito.imente.org/categorie.html

    praticamente vorrei riuscire a passare il valore che c'è all'interno del array es "('Monouso')", senza le parentesi e le virgolette!
    solo la parola "monouso"...per poi concatenare il .htm che ho gia' fatto! spero sia giusto...
    mi potete dare qualche dritta con le stringhe..?!
    Vi ringrazio tanto!
    Un salutone!
    Elisa

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ecco una possibile soluzione

    codice:
    <html>
    <head>
    <script>
    var path_runtime1 = "";
    var path_runtime2 = "";
    var file_ext = "html"; // estensione del file
    
    var path_orig = location.href;
    
    path_orig = path_orig.replace(/^(.*\/)(.+)$/, function($0, $1) { return $1 } );
    
    var bmw = new Array(
        "Serie 523",
        "Serie 525",
        "Serie One"
    )
    
    var toyota = new Array(
        "Corolla",
        "RAV 4",
        "Yaris"
    )
    
    
    
    
    function byid(id) {
        return document.getElementById(id);
    }
    
    function Cat1ToCat2(val) {
    
       var nodes = byid('cat2').options.length;
       while (nodes > 0) {
            byid('cat2').removeChild(byid('cat2').options[0]);
            nodes = byid('cat2').options.length;
       }
    
    
       if (val != "") {
            path_runtime1 = path_orig + val.replace(/\s/g, '');
            arr = eval(val);
            
            var c_select = byid('cat2');
            var c_option = document.createElement('option');
            c_option.setAttribute("value", "");
            c_option.innerHTML = "Seleziona";
            c_select.appendChild(c_option);
            
            for (i=0; i<arr.length; i++) {
                var c_option = document.createElement('option');
                c_option.setAttribute("value", arr[i]);
                c_option.innerHTML =  arr[i];
                c_select.appendChild(c_option);
            }
            
            byid('cat2').removeAttribute('disabled');
       }
       else {
           path_runtime1 = "";       
           byid('cat2').selectedIndex = 0;
           byid('cat2').setAttribute("disabled", "disabled");
       }
    }
    
    function goPage(val) {
        
        if (val != "") {
            path_runtime2 = path_runtime1 + "/" + val.replace(/\s/g, '') + "." + file_ext;
            location.href = path_runtime2;
        }
        else {
            path_runtime2 = path_runtime1;
        }
        
    }
    </script>
    </head>
    
    <body>
    
    <select name="cat1" id="cat1" onchange="Cat1ToCat2(this.value)">
      <option value="">Seleziona</option>
      <option value="bmw">BMW</option>
      <option value="toyota">Toyota</option>
    </select>
    
    <select name="cat2" id="cat2" disabled="disabled" onchange="goPage(this.value)"></select>
    </body>
    </html>

    ne spiego il funzionamento:

    - gli array devono chiamarsi esattamente come gli attributi value della prima select (nell'esempio bmw, toyota). Le 2 option che hanno testo "seleziona" devono contenere un valore nullo;

    - la seconda select aggiunge in automatico la prima opzione (infatti gli array contengono solo le opzioni non vuote, mentre poi appare anche "seleziona" come prima option);

    - se tu salvi lo script ad es nella pagina www.tuosito.it/script.html e selezioni la "serie 525" nella categoria bmw la pagina sarà reindirizzata in www.tuosito.it/bmw/serie525.html (nota che lo spazio bianco tra "serie" e "525" viene eliminato).

    Puoi eventualmente cambiare l'estensione di default (variabile file_ext).


    Ciao
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao Fabrizio!
    E' fantastico!Sei davvero bravo!
    Ora mi sto riguardando un pò il codice...la pagina quando si carica parte sempre da null?
    Ad esempio se io scelgo la categoria con la sua sottocategoria apro la pagina e poi torno indietro, in pratica la categoria è selezionata ma la sua sotto categoria è vuota...!
    Guarda fabri!
    (non far caso all'esempio che è a casa tanto per avere delle cat e sottocat!)

    http://elisamito.imente.org/prova_cat.html

    ora mi ci metto e se riesco la posto!
    grazie mille!

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il problema è che su IE tornando indietro perdi la sottocategoria mentre su Firefox rimane. se ho un un pò di tempo cerco di capire come mai succede.
    Vuoi aiutare la riforestazione responsabile?

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ehg ia' su fire funziona...mmm nn ti preocc!
    Provo a vedere se riesco a trovare una soluzione!
    Ti ringrazio molto fabrizio!

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.