Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615

    [JSP] Inutile, non riesco a creare pulsanti in colonna...

    Carissimi,
    tempo fa vi avevo scritto questa mia necessità.

    Semplicemente, in una banalissima jsp dovevo visualizzare una colonna di cognomi presi da un database (le voci sono via via create con un ciclo di for che prende i dati da un resultset, e funziona bene) ed a fianco a ciascuno di essi un bottone "cancella" in grado di eliminare dal database il cognome corrispondente alla riga dove il bottone si trovava. Ovvero, bottoni la cui funzione dipende dalla casella che hanno accanto. Es:

    Rossi ELIMINA *questo bottone deve eliminare Rossi!*
    Verdi ELIMINA *questo bottone deve eliminare Verdi!*

    Tralsascio tutti gli aspetti già risolti (form nella pagina jsp che si vede bene, accesso ai dati funzionante ecc) e mi concentro solo sull'inconveniente riscontrato: si elimina sempre il primo elemento della lista! Ovvero, è come se tutti i pulsanti agissero solo sul primo cognome.

    Ci deve essere "qualcosa", da frapporre tra il form della pagina jsp (che vedo correttamente) alla pagina jsp dove si trova l'istruzione con la query di eliminazione (che funziona benissimo, l'ho provata "a mano" e i dati si eliminano). Credo che questo "qualcosa" sia una istruzione particolare da scrivere nel form, magari qualche attributo del pulsante, che lo renda dipendente dalla riga che ha accanto. Come fare? Vi prego! E' da stamattina alle sei che ci sto dietro.

  2. #2
    Innanzitutto nel database devi avere una colonna che identifichi univocamente ciascun record (ad esempio id). Su ogni pulsante puoi gestire l'evento onclick lanciando una funzione javascript che andrà a settare un campo hidden con il valore dell'id del record da cancellare. Ad ogni caricamento della pagina (che immagino sia la stessa dove esegui il submit) vai a prelevare il valore di questo campo hidden. Se ha un valore valido esegui la delete in base a tale valore.
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Potresti farmi un esempio di codice? Io veramente nell'elenco voci il campo ID già ce l'ho, eppure non riesco a fare quello che dici...

  4. #4
    Innanzitutto all'inizio della pagina fai una cosa del genere:

    Codice PHP:
    <%
    String id_da_cancellare request.getParameter("id_da_cancellare") != null && !request.getParameter("id_da_cancellare").equals("") ? request.getParameter("id_da_cancellare") : "";

    if(!
    id_da_cancellare.equals("")){
         
    //..... gestisci la delete dal DB
    }
    %> 
    Fatto ciò, all'interno della tua form inserisci un campo hidden:

    Codice PHP:
    <input type="hidden" name="id_da_cancellare" id="id_da_cancellare" value=""
    Successivamente quando scorri il resultSet per ciascuna riga fai una cosa del genere relativamente al pulsante ELIMINA:

    Codice PHP:
    <input type="button" onClick="settaIdDaCancellare('<%=rs.getString("colonnaIdDelTuoDB")%>')"
        
    value="Elimina"
    e infine definisci una funzione javascript:

    Codice PHP:
    function settaIdDaCancellare(valoreId){
         
    document.getElementById('id_da_cancellare').value=valoreId;

    Al mio segnale... scatenate l'inferno!

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.