Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    73

    [Problema] Collegare due file dinamicamente

    Ciao a tutti, spero di essere nel topic giusto.

    cerco di spiegarvi in poche parole la mia applicazione web in php.
    Ho una pagina che da un lato ha dei tag input per inserire dei dati(ammettiamo libro e autore), e sotto questi tag vi è l'intero database(sotto forma di table) che contiene un tutti i dati inseriti(tutti i libri e autori).
    Il problema è che vorrei che il database si aggiornasse in automatico ogni tot secondi. Per fare questo, carico la pagina, almeno all'inizio, tramite il comando jQuery $(#id).load(reload.php). Il file reload.php contiene tutta la stampa del database tramite <table>

    Ok, il fatto è che nel file reload.php richiamo delle funzioni javascript sull'evento onClick per delle checkbox in modo tale che quando seleziono una chackbox appaia un pulsante Elimina per eliminare la riga corrispondente a quel record nel database. Allora, se il contenuto del file reload.php è all'interno della pagina principale(dove è dichiarata la funzione add_delete) funziona tutto, se però esiste il file reload.php ed uso il metodo load(reload.php), nel momento in cui seleziono una checkbox, non appare nessun pulsante,

    Questo è un esempio:

    Codice PHP:
    print("<td><input type='checkbox' name='checkbox[]' id='$check' value='$rowSPESA[0]' onclick='add_delete()'/></td>\n"); 
    Quando sul client seleziono la checkbox la funzione add_delete() non viene richiamata. Come mai?
    Nel file javascript, la funzione add_delete è fatta così:

    codice:
    $('input[id*="check"]').bind('click',add_delete);  $('#id_div').load(reload.php)
    funzione add_delete()

    codice:
    function add_delete(){ 					        
    var id = this.value; 					 					        if($(this).is(':checked')){ 						             array_ids.push(id); 						             $("#dropDB").show(); 						             $("#editDB").show(); 					 					        }else{ 						             
    var index = array_ids.indexOf(id); 						 						             array_ids.splice(index, 1); 						             
    if(array_ids.length == 0){ 							                $("#dropDB").hide(); 							                $("#editDB").hide(); 						             
    } 					         
    } 				 
    }
    Questa funzione non fa altro che far apparire due pulsanti quando vengono selezionati i checksum.

    Ragazzi, èda più di due settimane che ci sbatto la testa, non so davvero come fare, e non ho nessuno a cui chiedere un consiglio. Vi prego. Aspetto una vostra risposta
    Ciao

  2. #2
    Prova ad usare:
    $('input[id*="check"]').live('click',add_delete);
    invece di:
    $('input[id*="check"]').bind('click',add_delete);

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    73
    Ciao lucavizzi,
    innanzitutto ti ringrazio per avermi risposto.
    Ho già provato a fare come dici tu, ma niente da fare, il risultato non cambia. Ho anche scoperto che se uso la versione 1.7 di jquery, il metodo live è deprecato a favore del metodo on(), quindi ho provato anche quello, ma il risultato non è cambiato. A questo punto non so se pensare che sia impossibile fare una cosa del genere, non lo so. Hai altre idee? Io le ho esaurite tutte.

  4. #4
    ma la funzione non la assegni già lato server con: onclick='add_delete()' ?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    73
    Si certo. Ed è proprio questo il problema, nel senso che se io ho un file matrice.php dove risiede anche la funzione add_delete() ed un file reload.php che contiene un tag input di tipo checkbox con l'evento onClick(add_delete()), nel momento in cui seleziono la checkbox non succede nulla, è come se la funzione add_delete non venisse associata all'evento onClick.

    Ci sto sbattendo da due settimane e non so come venirne a capo

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    73
    Che vuoi dire con la funzione non l'assegni già lato server?

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.