Per un mio sito ho realizzato uno script in php che genera un captcha, per fare in modo che l'utente possa cambiarlo in caso non sia leggibile ho inserito un pulsante, ma questo al momento fa semplicemente il refresh dell'intera pagina.
Io vorrei fare in modo invece che avvenisse una cosa di questo tipo al click del pulsante:
- viene inviata una richiesta alla pagina php contenente lo script per la generazione dell'immagine captcha
- nella pagina visualizzata cambia solo l'immagine, inserendo quella nuova generata dallo script
Premesso che sono agli inizi con AJAX, ci sto provando ma non ci riesco.
Il pulsante è così
Codice PHP:
<input type="button" name="invia" value="Cambia codice" onclick="changeCode()" />
L'immagine si trova in una cella di una tabella ed è così impostata
Codice PHP:
[img]captcha.php[/img]
Per quanto riguarda la funzione, all'inizio, avevo provato semplicemente a richiamare l'attributo src in questo modo
Codice PHP:
document.getElementById("code").src = 'captcha.php';
oppure a mettere un div contenente l'immagine, in questo modo
Codice PHP:
<div id="code">
[img]captcha.php[/img]
<div>
e cambiare l'innerHTML del div riscrivendo completamente il tag <img> in questo modo
Codice PHP:
document.getElementById("code").innerHTML = '[img]captcha.php[/img]';
Ovviamente non ha funzionato nessuna delle due soluzioni, altrimenti non sarei qui.
Qual è il modo corretto per fare ciò che vorrei?