Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318

    Richiamare una funzione ?

    So che è una domanda banalissima:
    Richiamo una pagina .php da AJAX con il seguente codice:
    Codice PHP:
    require('config.php');
    $sql "DELETE FROM tab_01 WHERE id=$id";
    $query mysql_query($sql) or die ('Query  errata !! '.mysql_error());
    ?>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    sndReq();
    //-->
    </SCRIPT> 
    Vorrei chiamare la funzione sndReq(); quando ha finito l'istruzione $query, ma non va.
    Cosa dovrei fare per far eseguire quella funzione ?

  2. #2
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    Forse non mi sono spiegato bene,
    è strano che ad una domanda così banale nessuno mi sa rispondere.

    Praticamente la funzione dovrebbe essere chiamata in sequenza subito dopo aver eseguito la $query

  3. #3

    ...........

    Ciao.
    Solitamente Ajax è utilizzato in questo modo:

    pagina che fa richiesta Ajax
    evento scatenato dall'utente (un click su un link ad esempio)
    che passa un valore tramite get o post (può anche non passare niente)
    richiesta Ajax che richiama la pagina
    quindi una cosa del genere:
    makeRequest('deleteById.php', 'POST',data);
    deleteById.php con :


    require('config.php');
    $sql = "DELETE FROM tab_01 WHERE id=$_POST['id'];
    $query = mysql_query($sql) or die ('Query errata !! '.mysql_error());



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    infatti, lo immaginavo che non mi ero spiegato bene.

    Ricapitoliamo il tutto:

    Pagina.html visualizza una tabella contenente i dati
    Codice PHP:
    // Pagina.html 
    // Visualizza una tabella contenente i dati, cliccando su elimina si chiama 
    // la funzione eliminaById che richiama la pagina elimina.php per eliminare il record
    ....onClick =  richiamo la funzione eliminaById('id')

    // Pagina elimina php
    // Eliminazione del record
    require('config.php');
    $sql "DELETE FROM tab_01 WHERE id=$_POST['id'];
    $query = mysql_query($sql) or die ('Query errata !! '.mysql_error()); 

    // A questo punto dovrei richiamare un'altra funzione AJAX 
    // che dovrebbe farmi rivedere la pagina.html con tabella.
    // La funzione da richiamare è sndReq()
    // Come faccio a chiamare questa funzione ? 
    :master:

  5. #5

    ..........

    // Pagina.html
    // Visualizza una tabella contenente i dati, cliccando su elimina si chiama
    // la funzione eliminaById che richiama la pagina elimina.php per eliminare il record
    ....onClick = richiamo la funzione eliminaById('id')
    La funzione eliminaById avrà la sua bella chiamata ajax con il
    valore ricavato dal valore della riga della tabella


    A questo punto sei ancora in Pagina.html
    (devi eliminare l'evento onclick che richiama la pagina)
    quindi il problema sarà come eliminare la riga della
    tabella su cui hai cliccato.
    Cosa c'entra la chiamata ajax in elimina.php


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    Togliamo il discorso di AJAX e tutto il resto e riformulo la domanda.

    In una pagina.php quando viene caricata esegue il suo codice.
    Ad un certo punto senza che l'utente interagisca si deve richiamare una funzione "funzione()".

    Esempio di tutto il codice della pagina:
    Codice PHP:
    $sql "DELETE FROM tab_01 WHERE id=$id;
    $query = mysql_query($sql) or die ('Query errata !! '.mysql_error()); 
    a questo punto devo richiamare una funzione Javascript "funzione()", ma si deve eseguire automaticamente, senza che l'utente deve cliccare nulla.

    Per richiamare la funzione con un link si fa
    Codice PHP:
    <href="#" onClick="funzione()">clicca qui</a
    Ma se la funzione si deve eseguire automaticamente come si fa ??????

  7. #7
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    non mi dite che devo semplicemente scrivere:
    Codice PHP:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    finzione();
    //-->
    </SCRIPT> 
    ???? :master:

  8. #8
    Utente di HTML.it L'avatar di october
    Registrato dal
    Feb 2001
    residenza
    Torino
    Messaggi
    318
    Lo dicevo che era semplicissimo, e vi avevo anche detto che di Javascript ne capivo poco.
    Per richiamare una funzione automaticamente usare parent.nome_funzione()
    Codice PHP:
    parent.funzione() 
    Comunque, grazie per l'aiuto, la prossima volta cercherò di spiegarmi meglio.

    Ciao

  9. #9
    guarda caso mi trovo anch'io nella stessa situazione, solo che la pagina da caricare con ajax è in asp e al suo interno ci sono delle funzioni che dovrebbero partire in automatico.

    ho fatto delle prove anche con un semplice messaggio alert ma non funziona, neanche se richiamo la funzione con questo metodo:

    <script type="text/javascript">

    parent.alert("ciao");

    </script>


    come mai?

  10. #10
    ragazzi, timeout un attimo!
    Mi sembra che tutti abbiate un attimo di confusione.
    Penso non abbiate chiaro come funziona, in generale, il web.
    Se in una pagina c'&egrave; del javascript, chi lo esegue &egrave; il browser dell'Utente.
    Se in una pagina c'&egrave; del php, dell'asp, chi lo esegue &egrave; il server, ma PRIMA DI MANDARE LA PAGINA AL BROWSER!.
    Il server usa le istruzioni php, asp, ecc. per costruire la pagina html da inviare al client!

    Ajax non &egrave; altro che un modo, da parte del browser, di chiedere al server di fare qualcosa ed eventualmente per farsi inviare dei dati.
    quindi:
    nel tuo caso, se fai la richiesta Ajax, avrai anche messo una funzione di callback, no?
    Beh, metti la chiamata a sndReq() in quella, visto che la pagina che &egrave; sul browser &egrave; quella che ha fatto la richiesta Ajax.
    Nella fattispecie, la funzione che hai assegnato a ajax.onreadystatechange.
    Ponendo che l'oggetto ajax si chiami ... ehm .. ajax:
    codice:
    ...
        ajax.onreadystatechange = function() {
          
          // verifica dello stato
          if(ajax.readyState === readyState.COMPLETATO) {
            // verifica della risposta da parte del server
            if(statusText[ajax.status] === "OK") {
              // operazione avvenuta con successo
              elemento.innerHTML = ajax.responseText;
              sndReq();
            }
          }
        }
    ....

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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.