Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    101

    La 'function' mi azzera le variabili settate.

    Ciao a tutti,
    posto qui la mia domanda perchè credo che il problema sia da attribuire a quel pezzo di codice '.js' (a me sconosciutissimo ancora).

    Il problema, riassumendolo, è questo:
    ho un 'form' con due campi <select ... , il primo mi carica le marche degli pneumatici, il secondo è un campo dinamico e mi carica i modelli degli pneumatici della marca scelta nel primo campo. E fin qui tutto bene.
    Il problema è che quando quando clicco sulla marca, carica bene si i modelli abbinati alla marca, ma immediatamente succedono due cose che non vorrei:
    1) Il valore della marca scelta non m rimane in vista sul primo campo select ma mi si azzera.
    2) Più importante! Mi si azzera anche la variabile '$set' diventando sconosciuta, e quindi non mi da la possibilita di andare avanti con la query 'select modello ....'.

    In poche parole è come se mi azzerasse tutte le variabili dichiarate prima del richiamo della 'funzione' -- onchange="ricarica(this)"; --

    Il codice della pagina "cerca_pneumatici.php" :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>CMS: Pneumatici.</title>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="./ricarica.function.js"></script>
    </head>
    <body>

    <h1>Cerca pneumatici.</h1>

    <?php
    $idset = $_GET['id'];
    if ($idset == '1') {
    $set='Auto';
    }
    if ($idset == '2'){
    $set='Moto';
    }
    if ($idset == '3') {
    $set='Quad';
    }

    echo "

    Aggiungi pneumatici nel settore: $set .</p>";

    $cnsdb = @mysql_connect('host', 'user', 'pass');
    if (!$cnsdb) {
    exit('

    Errore di connessione!</p>');
    }
    $seldb = mysql_select_db('pneumaticidb');
    if (!$seldb) {
    exit('

    Errore: database non selezionato!</p>');
    }

    $marche = @mysql_query("SELECT id, marca
    FROM marca", $cnsdb);
    if (!$marche) {
    exit('

    Lista marche non caricata!</p>');
    }
    ?>


    <form action="modello.php" method="post">



    Scegli la Marca:</p>
    <label for="marca">Marca:</label>
    <select name="idmarca" size="1" onchange="ricarica(this);">
    <option selected value="">Tutti</option>

    <?php

    while ($marca=mysql_fetch_array($marche)) {
    $idmarca=$marca['id'];
    $nomemarca=htmlspecialchars($marca['marca']);
    echo "<option value='$idmarca'>$nomemarca</option>\n";
    }
    if (isset($_GET['idmarca'])) {
    $idmarca=$_GET['idmarca'];
    } else {
    $idmarca="";
    }

    $modelli = @mysql_query("SELECT modello.id, modello
    FROM modello, settore
    WHERE idmar='$idmarca'
    AND settore='$set'
    And idset=settore.id", $cnsdb);
    if (!$modelli) {
    exit('

    Lista modelli non caricata!</p>');
    }
    ?>
    </select>



    Scegli il modello:</p>
    <label for="modello">Modello:</label>
    <select name="idmodello" size="1">
    <option selected value="">Tutti</option>
    <?php
    while ($modello=mysql_fetch_array($modelli)) {
    $idmodello=$modello['id'];
    $nomemodello=htmlspecialchars($modello['modello']);
    echo "<option value='$idmodello'>$nomemodello</option>\n";
    }
    ?>
    </select>


    <input type="submit" value="VAI" />
    </form>





    Torna a : Gestione Pneumatici.</p>

    </body>
    </html>


    E il codice '.js' esterno "ricarica.function.js"
    function ricarica(ObjectSelect) {

    var Temp=ObjectSelect.options[ObjectSelect.selectedIndex].value;

    if(Temp!="")
    window.location="./cerca_pneumatici.php?idmarca="+(Temp);

    }

    Avete delle soluzioni per questo problema che mio porto avanti da diversi giorni ?

    Grazie per ora.
    Ciao.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Stai facendo abbondante confusione... le variabili create ed utilizzate sul server non esistono piu' quando la pagina arriva sul client e le variabili crate sul client non esistono piu' se la pagina cambia o viene ricaricata... devi rivedere un attimino il flusso dei dati fra il client ed il server e provvedere a memorizzarti i dati importanti sul server con le variabili di sessione e/o sul client con i cookies.

    Per i tuoi prossimi messaggi: in questo forum si discute solo di javascript: postare il sorgente PHP e' per la maggior parte di noi come postare in greco antico e spesso rende incomrensibile il problema metti solo il codice come lo riceve il browser.

    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

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.