dopo la richiesta ajax il bottone del form non si disabilita

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti.
Su una pagina generata dinamicamente ho una chiamata ajax per aggiornare un db.
Funziona.
La pagina php chiamata da ajax mi restituisce un numero progressivo.
sulla pagina ho diversi form i cui bottoni si chiamano registra1, registra2 eccetera. (Ovviamente il numero progressivo di cui sopra corrisponde ai diversi form e quindi ai relativi bottoni).
Quindi per prima cosa attribuisco a una variabile il valore registra+'numero progressivo', poi con document.getElementById cambio lo stile del bottone da display block a display none.
Però questo non succede.
Il codice del bottone:
Codice:
$idregistra = "registra".$righe;
echo "<input type=\"button\" name=\"'$idregistra'\" value=\" REGISTRA \" style=\"display:block\" onClick=\"javascript:formami('$idform');\">";
e qui il codice all'interno della chiamata ajax:
Codice:
buttun = "registra"+progressiv;
document.getElementById(buttun).style.display = "none";
Ho provato anche con document.getElementById(buttun).disabled = true; e comunque non succede nulla...
Vorrei disabilitare il bottone per evitare che l'utente ripremendolo mi registri nuovamente lo stesso record.
Qualche idea?
Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, scrivi onclick tutto in minuscolo per una maggiore compatibilità con i browser.
il codice che hai postato non è completo: per esempo la variabile $idform da dove arriva ?
comunque prova cosi :
Codice:
onclick=\"this.disabled=true;formami('$idform')\"
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Grazie Criric per il suggerimento.
In effetti così funziona. Ma avrei preferito che il bottone venisse disabilitato dopo la chiamata ajax, poichè esiste sempre la pur remota possibilità che l'inserimento non vada a buon fine.
Per ora lascio così, comunque. Perlomeno evito la possibilità di un doppio inserimento.
La variabile $idform viene dallo script php della pagina e corrisponde al numero progressivo attribuito a tutti gli id che mi interessa recuperare con javascript: il form 1 contiene $giorno1, $mese1 ecc. Questo perchè vengono generati tanti form quanta è l'indicazione dell'utente; per la tale lezione devo impostare 5 appuntamenti, per un'altra 2 o 10... Poi con un ciclo while genero le righe richieste.
In effetti disabilitare o meglio rendere la visibilità = none mi sarebbe servito anche per sostituire il bottone "registra" con un bottone "varia" che ovviamente mi richiamerebbe un altro script.
Se vuoi ti posto il codice di tutta la pagina (sono circa 300 righe). Fammi sapere.
A presto
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Se disabiliti il pulsante dopo la chiamata ajax non eviti i doppi inserimenti : io potrei premere il pulsante 10 volte prima che la prima richiesta vada a buon fine, le altre nove la seguiranno sucessivamente.
Potresti invece riabilitare il pulsante se la richiesta non è andata a buon fine.
 
  • Like
Reactions: localhost.nicola

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Hai ragione... Ora vedo se riesco a farlo funzionare in quel modo.
Ti tengo aggiornato
Intanto grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Access: recuperare Indice dopo un insert into MS Access 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
nivaria.achinet Intercettare form solo dopo invio Javascript 1
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
M Inviare dati nel db dopo risposta alert PHP 0
R Cambiare il nome dell'immagine dopo caricamento ftp HTML e CSS 0
C Dopo chiusura del tag php la stringa html va a capo PHP 1
S Download di un file in automatico dopo la sua creazione PHP 2
D Lenovo Schermo nero dopo ram aggiuntiva Hardware 0
R Reinderizzamento dopo login PHP 2
felino [JQuery] Append dopo ultimo ul li del primo livello jQuery 2
Y verificare condizione dopo esecuzione della funzione Programmazione 0
M errore dopo passaggio Php 7.2 PHP 6
Cosina Reindirizzare a nuova pagina dopo echo copy PHP 4
C finestra popup dopo login PHP 2
M Guestbook - non funziona dopo upgrade di PHP PHP 5
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
S [PHP] Come mantenere selezionato checkbox dopo aver cliccato submit PHP 7
B [PHP] Creare PDF dopo inserimento dati form PHP 4
F [JavaScript] Ottenere il CSS dopo transform: scale() e transform-origin Javascript 0
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
D [HTML] scorrimento dopo un'aggiunta di dati HTML e CSS 5
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
andreas88 Immagini non leggibili dopo trasferimento alla scheda SD Smartphone e tablet 0
W [Prestashop] Non accedo più dopo la copia da remoto a locale E-Commerce 7
M [Javascript] Aggiornare like totali dopo click Javascript 0
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Tommy03 Generare file PHP dopo registrazione PHP 2
N [Java]problema jasper report dopo compilazione file .jar Java 0
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
A [PHP] Undefined index dopo query dal server PHP 1
D [Javascript] [HTML] Inserire slash dopo 3 numeri Javascript 5
Y [PHP] Errore di login dopo aver inserito Codice AdSense PHP 0
D Errori dopo installazione certificato SSL in Wordpress WordPress 0
R RI-Approccio dopo anni - PHP PHP 6
otto9due GDPR 25 Maggio - script per attivare analytics, facebook ecc.. dopo il consenso. jQuery 14
G [PHP] convertire data in formato italiano dopo query PHP 6
felino [Wordpress][WooCommerce] PayPal: nessun notifica email dopo il pagamento WordPress 1
paloppa [PHP] Campi che appaiono dopo aver compilato un determinato campo PHP 7
T [PHP] impedire un doppio INSERT INTO dopo reload della pagina PHP 3
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
gaspare490 E dopo anni mi sono iscritto Presentati al Forum 1
trattorino [Javascript] FAR sparire campo dopo top caratteri Javascript 2
L Come caricare <iframe> dopo il click ad un immagine, per migliorare le prestazioni. Discussioni Varie 0
eraclio666 [PHP] Input text dopo sue select PHP 4
M [PHP] Far rimanere biffata checkbox dopo aggiornamento pagina PHP 24
M alert dopo aggiornamento automatico pagina php PHP 4

Discussioni simili