Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    [jquery][ajax]Richiamo di una finestra modale con dati.

    Ciao Houson, ho avuto un problema

    Dunque, sto realizzando un applicativo in Bootstrap 4 per un cliente importante e ho quale che problema a realizzarlo.
    Mi spiego: devo informatizzare un registro cartaceo, niente di difficile, ma mi sono creato qualche casino cercando di semplificarmi la vita (è sempre così, dopotutto ).
    In pratica, ogni riga di una tabella deve essere editabile; come ho scritto in un altro post qui sul forum, volevo rendere semplice l'interfaccia realizzando un sistema simile a phpMyAdmin, dove cliccando su un dato del database, si apre una input in cui editare il dato.
    Non ci sono riuscito al volo, quindi ho optato per il piano B.
    Questo prevede una finestra modale che riporta un form, niente di difficile, detto fatto, ma quando vado a cliccare sul tasto per editare la riga il form mi viene vuoto.
    Per avere i dati da editare riportati, devo necessariamente aggiornare la pagina, quindi ripremere sul tasto di edit e si apre la finestra con il form completo dei dati da editare.
    Vi invio lo script in javascript che apre il form dopo aver scaricato i dati dal database.
    codice:
    "use strict";
            
            $(document).ready(function(){
                //    Edit
                $('button[name^="edit-"]').click(function()
                {
                    var identity = $(this).attr('name');
                    identity = identity.split('-');
                    $.getJSON(
                        'DB/DB_getDatiEditRegistro.php', 
                        {id: identity[1]},
                        function(result)
                        {
                            if (result !== '') {
                                $('#editModal').modal('show');
                                $('#editModal').on('show.bs.modal', function()
                                {
                                    $('#firmatario').val(result.nome_firmatario);
                                    $('#qualifica').val(result.qualifica_firmatario);
                                    $('#motivo').val(result.motivo_presentazione);
                                    $('#nazione').val(result.note_nazione);
                                });
                            }
                        }
                    )
                });
    Dove il nome del pulsante, riporta l'ID dela database relativo al record da editare, mentre nel file PHP remto questo serve a tirare fuori il record con una semplice select, poi il dato viene riportato in json.
    Fin qui tutto, facile, ma il dato non sempre viene riportato, quindi?

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    E visto che c'ero, ho provato anche a modificare lo script, nel senso che dove era $.getJSON() ho cambiato in $.ajax()
    codice:
    $.ajax(
                    {
                        url: 'DB/DB_getDatiEditRegistro.php',
                        contentType: "application/json",
                        type: 'GET',
                        data: {id: identity[1]},
                        dataType: 'json',
                        success: function(result)
                        {
                            if (result !== '') {
                                $('#editModal').modal('show');
                                $('#editModal').on('show.bs.modal', function()
                                {
                                    $('#firmatario').val(result.nome_firmatario);
                                    $('#qualifica').val(result.qualifica_firmatario);
                                    $('#motivo').val(result.motivo_presentazione);
                                    $('#nazione').val(result.note_nazione);
                                });
                            }
                        }
                    })
    Ma non cambia nulla, devo attendere un po' e riprovare per avere i dati.
    Ho pensato ad un lag sulla rete, ma se vado a vedere l'ispettore di Chrome o l'analizzatore di Firefox, la rete mi da sempre il file in ritorno con i valori dentro.
    Non so come andare avanti al momento.

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Risolto
    In pratica mi è bastato invertire modal('show') con l'altra funzione per risolvere.
    codice:
    $('#editModal').on('show.bs.modal', function() { .... });
    $('#editModal').modal('show');
    invece di:
    codice:
    $('#editModal').modal('show');
    $('#editModal').on('show.bs.modal', function() { .... });

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 © 2026 vBulletin Solutions, Inc. All rights reserved.