Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [ajax] problema con l'eliminazione del record senza ricaricare la pagina

    Heila,

    sto cercando di personalizzare uno script che si occupa, tramite ajax, di eliminare i record dal database MySql. Lo script l'ho preso qui https://makitweb.com/how-to-delete-r...ble-with-ajax/.

    Funzionerebbe tutto tranne l'eliminazione al volo della colonna html, devo ricaricare la pagina per vedere la modifica, cosa che la demo originale invece fa.
    Lo scrip originale fa uso della tabella <table> e di conseguenza le righe <tr><td> mentre io uso i <div>

    L'originale funzionante:
    codice HTML:
    <tr>              <td align='center'><?php echo $count; ?></td>
                       <td><a href='<?php echo $title; ?>'><?php echo $title; ?></a></td>                                                  <td align='center'><span class='delete' id='del_<?php echo $id; ?>'>Delete</span></td>                    </tr>
    e il controllo
    codice:
    if(response == 1){                    // Remove row from HTML Table
                        $(el).closest('tr').css('background','tomato');
                        $(el).closest('tr').fadeOut(800,function(){
                            $(this).remove();
                        });
                    }else{
                        alert('Invalid ID.');
                    }
    il mio html :

    codice HTML:
    <div class="gallery-col">  <article class="gallery-item" style="height: 158px;">	<img class="gallery-picture" src="<?php echo $home_url."images/products/".$img; ?>" alt="" height="158">	 <div class="gallery-hover-layout">	  <div class="gallery-hover-layout-in">		 <p class="gallery-item-title"><a class="delete" id="del_<?php echo $id; ?>">Elimina</a></p>	 <div class="btn-group">		 <i class="font-icon font-icon-trash"></i>																					</div>																			</div>								</div>							</article>						</div>
    e poi ho modificato lo script di controllo in questo modo:
    codice:
    if(response == 1){                    // Remove row from HTML Table
                        $(el).closest('.gallery-col').css('background','tomato');
                        $(el).closest('.gallery-col').fadeOut(800,function(){
                            $(this).remove();
                        });
                    }else{
                        alert('Invalid ID.');
                    }
    come ho scritto all'inizio, devo ricaricare la pagina per vedere la modifica.
    Cosa sbaglio?
    Grazie!

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Ciao, il codice sembra ok, difficile capire la causa senza vedere la pagina in azione e quindi riprodurre il problema. Puoi per caso postare un link?

    Ad ogni modo, se apri la console web ed esegui l'operazione, viene segnalato qualche errore nello script?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Ciao,
    non mi viene segnalato alcun errore in console.
    Purtroppo non ho possibilità di mettere la pagina online.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Quote Originariamente inviata da blur Visualizza il messaggio
    Ciao,
    non mi viene segnalato alcun errore in console.
    Purtroppo non ho possibilità di mettere la pagina online.
    Perfetto

    In questo caso non vedo grosse alternative, la strada che puoi prendere è quella di fare tu stesso un debug.
    Puoi utilizzare qualche console.log() messo in posizioni strategiche per comprendere cosa sta avvenendo dietro il codice e quindi un passo alla volta rintracciare la sorgente del problema.

    Se vuoi qualche suggerimento per impostare la cosa, fai sapere; nei limiti del possibile ti si può indicare qualche consiglio su come procedere.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Se vuoi qualche suggerimento per impostare la cosa, fai sapere; nei limiti del possibile ti si può indicare qualche consiglio su come procedere.
    Si grazie, anche perchè non sono molto esperto in jquery.

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Ok, comunque la/e causa/e del problema possono prescindere dal fatto che tu stia usando jQuery. Si tratta di usare semplicemente la funzione console.log() e di verificare nella console che i vari passaggi stiano funzionando come dovrebbero.

    Prova intanto a postare la parte intera della chiamata AJAX, giusto per capire come l'hai impostata... anticipo che dovrai prima di tutto verificare se ricevi correttamente la risposta nel success
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    KillerWorm,

    Ho cancellato tutti i files temporanei ( ma lo avevo già fatto più volte!!!!
    ) e riavviato il pc per altri motivi. Adesso magicamente tutto funziona.
    Sono senza parole...
    Grazie lo stesso e scusa il disturbo!

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Grazie lo stesso e scusa il disturbo!
    Figurati, mi fa piacere comunque che si sia risolto

    Buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale 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 © 2024 vBulletin Solutions, Inc. All rights reserved.