Passare variabile a pulsante in finestra modale

Francesco75

Nuovo Utente
12 Dic 2020
4
0
1
Buongiorno a tutti.
Mi sto cimentando con un gestionale web e non riesco a realizzare una cosa che sicuramente è banale ma non essendo affatto esperto di questi linguaggi mi viene difficile farlo.
Ho certcato anche in altre discussioni simili ma non riesco a realizzare quanto devo.
In pratica ho una tabella che popolo con i dati di un database. Per ogni riga oltre a inserire i dati inserisco 3 pulsati che fanno edit, dettaglio ed elimina e contengono l'id della riga. Il tutto funziona bene vorrei però inserire alla pressione del pulsante elimina una finestra modale che mi chieda se voglio effettivamente cancellare il record anzicchè eliminarlo direttamente (l'eliminazione diretta già funziona) in pratica il pulsante elimina ha un href che contiene l'id da eliminare il mio problema è passare questo id al pulsante di conferma della finestra modale.
Codice:
<!-- questa è il pulsante elimina che contiene in href l'azione da compiere sull'id cliccato -->
<a class="btn btn-danger btn-circle btn-sm"
          href="?azione=elimina&id='.$row['id'].'
          " data-toggle="modal" data-target="#eliminaModal">
         <i class="fas fa-trash" aria-hidden="true"></i></a>

<!-- questa è la finestra modale alla quale devo passare azione e id della riga da eliminare -->
<div class="modal fade" id="eliminaModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
             aria-hidden="true">
             <div class="modal-dialog" role="document">
                 <div class="modal-content">
                     <div class="modal-header">
                         <h5 class="modal-title" id="exampleModalLabel">Vuoi davvero eliminare questo record?</h5>
                         <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                             <span aria-hidden="true">×</span>
                         </button>
                     </div>
                     <div class="modal-body">Seleziona "Procedi" se vuoi eliminare il record</div>
                     <div class="modal-footer">
                     <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancella</button>
                     <a class="btn btn-primary" href="?azione=elimina&id='.$id.'">Procedi</a>
                     </div>
                 </div>
             </div>
         </div>

Come posso passare all'href del bottone "Procedi" la stringa "?azione=elimina&id='.$id.'" con id corrispondente ? o solo meglio come posso valorizzare con l'id corretto la variabile $id che compelta l'href del bottone in questione?

Spero di essere stato chiaro nella mia ingarbugliata spiegazione e un grazie a chi vorrà aiutarmi.
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Aspetta... Da quel che vedo stai usando un link (che punta alla stessa pagina, giusto?), quindi la pagina si ricarica prima di vedere il modale, giusto? Se è cosi, dovresti usare JavaScript, in modo da schiacciare il primo bottone Elimina e far comparire il modale direttamente, senza che la pagina ricarichi
 

Francesco75

Nuovo Utente
12 Dic 2020
4
0
1
Buongiorno e grazie, Tommy per il suggerimento. Dopo aver letto la tua risposta ho cercato con varie prove e ricerce sul web per risolvere questo mio problema. Tuttavia ogni ricerca forniva risposte incomplete, almeno per me che non sono un esperto programmatore. Alla fine ho trovato una soluzione e la illustro per chi come me dovesse avere la stessa necessità.
Codice:
<!-- Pulsante che richiama uno javascript, che riporterò alla fine e che passa allo stesso l'id della riga da cancellare -->
<!-- In pratica per ogni riga della mia tabella creo un pulsante che memorizza l'id della riga stessa -->
<a class="elimina" data-id="'.$row['id'].'"><span class="btn btn-danger btn-circle btn-sm"><i class="fas fa-trash" aria-hidden="true"></i></span></a>

Codice:
<!-- Questa è la finestra modale, ho dato al pulsante "Procedi" un id per poter riconoscerne il click e attivare le azioni corrispondenti -->
<div class="modal fade" id="eliminaModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
    aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Vuoi davvero eliminare questo record?</h5>
                <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">×</span>
                </button>
            </div>
            <div class="modal-body">Seleziona "Procedi" se vuoi eliminare il record</div>
            <div class="modal-footer">
            <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancella</button>
            <a class="btn btn-primary" id="procedi">Procedi</a>
            </div>
        </div>
    </div>
</div>

Codice:
<!-- Alla fine del file richiamo lo javascript che ho inserito in un percorso specifico -->
    <!-- Pagina scripts personali -->
    <script src="js/personali/elimina.js"></script>

Codice:
/*Questo è il javascript che viene richiamato dall'evento click sul pulsante "cestino"
  che compare ad ogni riga della tabella, preleva l'id della riga stessa (memorizzata in precedenza)
*/
$(document).ready(function(){
  $('.elimina').on('click',function()
  {         
    var id=$(this).data('id');
    
    //apre la finestra modale che ho chiamato eliminaModal
    $('#eliminaModal').modal('show');
    
    //se viene premuto il tasto che ho identificato con id procedi parte l'azione di eliminazione della riga
    $("#procedi").click(function(e) {
      location.href='?azione=elimina&id='+id;
      
    //chiude la finestra modale 
      $('#eliminaModal').modal('hide');
     })
  })
});

Questo è quanto forse poteva realizzarsi in una maniera migliore ma da inesperto questa è la mia soluzione e spero possa essere di aiuto a qualcuno.
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Problema nel passare la variabile PHP 0
N PDF fpdi passare variabile PHP 4
F Come passare una variabile al modal di bootstrap PHP 1
F Passare una variabile php dal DB mysql alla pagina PHP 3
M [PHP] Passare variabile di sessione con metodo GET PHP 10
L [PHP] Passare variabile PHP 3
AMONRA75 [PHP] passare una variabile in una finestra MODAL PHP 1
K [PHP] Paginazione Wordpress: passare variabile PHP 6
T [PHP] passare una variabile in una finestra MODAL di bootstrap PHP 3
A [Javascript] Passare variabile tra pagine html diverse Javascript 13
W Passare una variabile da una pagina all'altra PHP 25
M [C#] ListView: passare variabile a un LayoutTemplate caricato da codebehind ASP.NET 0
neo996sps Passare variabile in GET a script python PHP 1
G Passare valore ad una variabile con jQuery e PHP PHP 1
R [Risolto] Passare Variabile importo carrello a Paypal Classic ASP 7
A passare variabile ad un file PHP da acquisire con $_GET PHP 3
R passare una variabile in query per ORDER BY PHP 6
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
7 Come passare una variabile internamente tra due funzioni... Javascript 3
neo996sps Passare variabile su include di file php PHP 2
V passare la scelta di una select ad un variabile php PHP 5
J Passare variabile a popup PHP 7
U passare una variabile di sessione da pagina di joomla a pagina php Joomla 3
neo996sps passare variabile su link tramite post PHP 4
C Passare variabile in SELECT PHP 24
P passare valore variabile da javascript a php Javascript 1
I Passare variabile da Form PHP 1
P Passare una variabile a una query sql Database 0
L Passare variabile PHP 6
P Passare solo una variabile di un form a pagina principale Javascript 1
P passare variabile a swf da pagina inclusa PHP 1
B passare una variabile javascript ad una jsp Javascript 0
G passare una variabile da una prompt js a php Javascript 1
G Passare una variabile ad un applet PHP 1
E Passare variabile php a JS Javascript 0
E Conviene passare in sessione una variabile db ? Classic ASP 5
G Passare variabile Classic ASP 1
S passare un valore da un form a un file .php con metodo post PHP 4
R valore value di un id da passare in chiamata ajax Ajax 3
N Passare array da php a javascript PHP 5
S Passare query o utm alla pagina successiva Domini 1
P Passare solo alcuni parametri a script per CSV PHP 0
D passare valori da database sql a php PHP 1
P Passare contenuto in value. Ajax 1
P Passare i risultati di un foreach in un modal. Help! PHP 2
P jButton1ActionPerformed passare parametri ad altra classe Java 2
Fendo59 Passare parametri con metodo POST a una pagina in un frame PHP 0
I Passare dei parametri in javascript PHP 0
G Passare path directory in POST PHP 2
G [Javascript] Passare un valore via querystring Javascript 1

Discussioni simili