Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option?

Disperato1

Nuovo Utente
7 Mag 2017
14
0
1
27
Sto utilizzando i menù concatenati con ajax e php: https://www.mrw.it/ajax/menu-select-dinamici-ajax-php_7219.html Come posso salvare la scelta? So benissimo che in caso di select "normali" si utilizza il tag value che viene utilizzato per inviare il valore selezionato, ma in questo caso non vi sono perchè viene fatto "dinamicamente" con ajax. Come posso salvare la scelta? Come variabile php oppure con attributo value del tag option?
P.S. Sono veramente disperato e ringrazio anticipatamente di cuore chiunque mi possa dare una mano, grazie!
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Ciao Disperato1.
Anche con le select riempite dinamicamente con ajax viene assegnato un valore al tag value, nel caso del tutorial che hai linkato il valore del tag value corrisponde al valore visualizzato nella select.

Ora cosa intendi per salvare? Effettuare una richiesta a uno script php?
Se vuoi richiamare lo script senza che la pagina si ricarichi puoi utilizzare ancora ajax, altrimenti puoi racchiudere le select in un form ed aggiungere il pulsante per inviarlo.
 
Ultima modifica:
  • Like
Reactions: Disperato1

Disperato1

Nuovo Utente
7 Mag 2017
14
0
1
27
Ciao Disperato1.
Anche con le select riempite dinamicamente con ajax viene assegnato un valore al tag value, nel caso del tutorial che hai linkato il valore del tag value corrisponde al valore visualizzato nella select.

Ora cosa intendi per salvare? Effettuare una richiesta a uno script php?
Se vuoi richiamare lo script senza che la pagina si ricarichi puoi utilizzare ancora ajax, altrimenti puoi racchiudere le select in un form ed aggiungere il pulsante per inviarlo.
Grazie per la risposta! Dovrei creare un form dove oltre alle select concatenate vi sono delle caselle di testo. Ecco il mio codice
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Form Example</title>
</head>
<body background="sfondo1.jpg"/>
<form action="name.php" method="get">
<div><label for="firstname"><b><font color="LIME">Inserisci Citta':</font></b>
<input type="text" name="firstname" id="firstname"></label>
</div> <br><br>
<div><input type="submit" value="GO"></div>
</form>
</body>
</html>
In seguito dal file php name.php vado a memorizzare la citta' selezionate in una variabile php. in questo modo

$citta = $_GET['firstname'];

Quello che voglio fare è memorizzare i dati delle due select "dinamiche" in delle variabili php che poi userò nel mio script per delle operazioni. Come devo fare? Devo fare cosi': $dato=$_GET['valore_value']; Cosa devo mettere al posto di valore_value?
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Semplicemente aggiungi l'attributo "name" alle select, e poi in "name.php" il valore sarà memorizzato in $_GET['nomechehaiscelto'];
Ti faccio un esempio completo della pagina select.html, basandomi sul tuo codice.
Evita di creare spazi con <br> consecutivi, è meglio utilizzare gli appositi attributi di stile per i margini.

Codice:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Form Example</title>
    </head>
    <body background="sfondo1.jpg">
        <form action="name.php" method="get">
            <div>
                <label for="firstname"><b><font color="lime">Inserisci città:</font></b></label>
                <input type="text" name="firstname" id="firstname">
            </div>
            <div>
                <label for="categoria"><b><font color="lime">Categoria:</font></b></label>
                <select id="categoria" name="categoria" onChange="GetLinguaggi(this.options[this.selectedIndex].text)">
                    <option value=""></option>
                    <option>programmazione</option>
                    <option>scripting</option>
                </select>
            </div>
            <div>
                <label for="categoria"><b><font color="lime">Linguaggio:</font></b></label>
                <select name="linguaggio" id="linguaggio"></select>
            </div>
            <div style="margin-top: 20px;">
                <input type="submit" value="GO">
            </div>
        </form>
        <script src="ajax.js" type="text/javascript"></script>
        <script type="text/javascript">
        var url = "select.php";
        var what = "SetLinguaggi(req.responseText)";

        function GetLinguaggi(Categoria)
        {
         InviaDati("categoria="+Categoria);
        }
      
        function SetLinguaggi(Linguaggi)
        {
         var linguaggioBox = document.getElementById("linguaggio");
         linguaggioBox.options.length = 0;
         if(Linguaggi != "")
         {
            var arrLinguaggi = Linguaggi.split(",");
            for(i = 0; i < arrLinguaggi.length; i++)
            {
             if(arrLinguaggi[i] != "")
             {
                linguaggioBox.options[linguaggioBox.options.length] =
                new Option(arrLinguaggi[i], arrLinguaggi[i]);
             }
            }
         }
        }
        </script>
    </body>
</html>

da name.php accederai ai dati in questo modo:
Codice:
$_GET['firstname']
$_GET['categoria']
$_GET['linguaggio']

ps: spero che con lo sfondo il colore lime dia un effetto diverso, sul bianco è inguardabile ;)
 
Ultima modifica:
  • Like
Reactions: Disperato1

Disperato1

Nuovo Utente
7 Mag 2017
14
0
1
27
Ti ringrazio tantissimo! L'ho provato e mi funziona, in effetti ero vicino alla soluzione ma il tuo aiuto è stato fondamentale. Ho risolto il problema ma grazie a te ho anche capito meglio alcuni aspetti del codice. Il colore LIME l'ho dovuto mettere perchè con quello sfondo il black od altro non erano visibili.
 

Disperato1

Nuovo Utente
7 Mag 2017
14
0
1
27
Semplicemente aggiungi l'attributo "name" alle select, e poi in "name.php" il valore sarà memorizzato in $_GET['nomechehaiscelto'];
Ti faccio un esempio completo della pagina select.html, basandomi sul tuo codice.
Evita di creare spazi con <br> consecutivi, è meglio utilizzare gli appositi attributi di stile per i margini.

Codice:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Form Example</title>
    </head>
    <body background="sfondo1.jpg">
        <form action="name.php" method="get">
            <div>
                <label for="firstname"><b><font color="lime">Inserisci città:</font></b></label>
                <input type="text" name="firstname" id="firstname">
            </div>
            <div>
                <label for="categoria"><b><font color="lime">Categoria:</font></b></label>
                <select id="categoria" name="categoria" onChange="GetLinguaggi(this.options[this.selectedIndex].text)">
                    <option value=""></option>
                    <option>programmazione</option>
                    <option>scripting</option>
                </select>
            </div>
            <div>
                <label for="categoria"><b><font color="lime">Linguaggio:</font></b></label>
                <select name="linguaggio" id="linguaggio"></select>
            </div>
            <div style="margin-top: 20px;">
                <input type="submit" value="GO">
            </div>
        </form>
        <script src="ajax.js" type="text/javascript"></script>
        <script type="text/javascript">
        var url = "select.php";
        var what = "SetLinguaggi(req.responseText)";

        function GetLinguaggi(Categoria)
        {
         InviaDati("categoria="+Categoria);
        }
     
        function SetLinguaggi(Linguaggi)
        {
         var linguaggioBox = document.getElementById("linguaggio");
         linguaggioBox.options.length = 0;
         if(Linguaggi != "")
         {
            var arrLinguaggi = Linguaggi.split(",");
            for(i = 0; i < arrLinguaggi.length; i++)
            {
             if(arrLinguaggi[i] != "")
             {
                linguaggioBox.options[linguaggioBox.options.length] =
                new Option(arrLinguaggi[i], arrLinguaggi[i]);
             }
            }
         }
        }
        </script>
    </body>
</html>

da name.php accederai ai dati in questo modo:
Codice:
$_GET['firstname']
$_GET['categoria']
$_GET['linguaggio']

ps: spero che con lo sfondo il colore lime dia un effetto diverso, sul bianco è inguardabile ;)

Scusami per il disturbo ma avrei bisogno di un altro piccolo aiuto in quanto devo aggiungere una modifica: devo permettere che le "opzioni" non vengano prese dal file select.php, ma come una query sql dal database. In poche parole per adesso le nostre opzioni vengono prelevate dal file select.php come questo link https://www.mrw.it/ajax/menu-select-dinamici-ajax-php_7219.html invece devo permettere che le opzioni, in questo caso i "linguaggi disponibili" vengano prelevati dal database e poi selezionati come abbiamo fatto con ajax fino a questo momento. Devo modificare solo il file select.php inserendo le query sql che prelevano i dati oppure devono fare qualcos'altro? Ti ringrazio ancora e spero in una tua risposta!
 
Discussioni simili
Autore Titolo Forum Risposte Data
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
E Salvare immagini PHP 0
L salvare codice html in mysql PHP 3
L salvare somma con sottrazione PHP 1
M Salvare coordinate Maps nel DB PHP 2
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A Twitter aggiungere tweet a campagna esistente o salvare pubblico Social Media Marketing 0
D Salvare in diversi campi mysql con diversi ID PHP 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
M Salvare JSONObject in Shared Preference Sviluppo app per Android 0
M [PHP] Salvare campo di una tabella in una variabile PHP 14
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Salvare csv da form dati PHP 5
A Salvare immagine ridimensionata in MySql con GD PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
M Salvare pagine web come segnalibro con istruzioni javascript Javascript 0
L Salvare posizione maps Sviluppo app per Android 0
G [PHP] SALVARE RECORD ESTRATTI DA DATABASE PHP 6
P [SOLVED] salvare il TCPDF output in mysql e rivisualizzarlo PHP 3
M Salvare i dati nel db e aprire altra pagina php PHP 7
M Form ASP su MsSQL salvare 2 campi in 1 Classic ASP 4
V [PHP] Salvare campo radio in db e leggerlo PHP 15
S [PHP] Salvare dati tabella in formato exel PHP 0
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
P Come salvare il proprio diario di fb Discussioni Varie 0
P Salvare i dati restituiti dopo autenticazione OAuth2 Javascript 0
M Salvare in tabella link file importato PHP 1
F Cliccare e salvare src immagine HTML e CSS 2
M Cartella predefinita dove salvare i backup PHP 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 7
C Salvare il click su di un Button Sviluppo app per Android 9
Emix Salvare documenti in DB PHP 3
D salvare righe dinamicamente PHP 3
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
C Salvare dati form in un file di testo PHP 2
M Salvare select con cookie PHP 1
IImanuII Salvare/recuperare html da un db PHP 5
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
M salvare una activity e richiamarla Sviluppo app per Android 6
Shyson Salvare impostazioni del Database Database 0
Z Salvare Form su un file .JPG Visual Basic 0
B Salvare dati in locale e sincronizzarli... Javascript 26
P Salvare vari tipi di file in cartelle. PHP 6
V salvare in txt PHP 8
A Salvare completamente una pagina web di un sito qualsiasi PHP 5

Discussioni simili