Click funziona solo la prima volta
- Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 10 mesi fa da
jqueryitalia.
- AutorePost
- 29 Novembre 2013 alle 02:07 #5571
Daniel Vedovato
PartecipanteCiao a tutti,
ho cercato per tutto il web, sarò incapace io, sarò inabile, ma se creo un evento click funziona solo la prima volta e poi zero.
Vi posto il codice:
Pagina:
<h1>Inserimento Nuova Categoria</h1> <p><small>Inserisci una nuova categoria.</small></p> <div class="well"> <div class="control-group"> <div class="controls"> <input id="nome_insert_cat" class="form-control" type="text" placeholder="Nome categoria (max 20 caratteri)" class="input-xxlarge"> </div> </div> <div class="control-group"> <label class="control-label" for="singlebutton"></label> <div class="controls"> <button class="btn btn-default insert_cat">Inserisci Categoria</button> </div> </div> </div> <div id="succ_ins_cat"></div>
Evento:
$(document).on('click', ".insert_cat", function(){ var nome_cat = $('#nome_insert_cat').val(); inserisci_cat(nome_cat); });
Funziona eseguita:
function inserisci_cat(nome){ $.ajax({ url : "ajax_inserisci_categoria.php", type: "GET", data: "nome="+nome, success: function(results) { $("#succ_ins_cat").html(results); $("#succ_ins_cat").delay(500).fadeOut(); } }); }
Se qualche anima pia mi aiuta vi sono grato!
29 Novembre 2013 alle 02:09 #5572Daniel Vedovato
PartecipanteScusate, ho talmente sonno che ho sbagliato perfino a inserire il codice 🙁
29 Novembre 2013 alle 10:34 #5574jqueryitalia
AmministratoreCiao Daniel.
Nessun problema ho sistemato io 😉Per quanto riguarda il tuo problema sostituisci la funzione:
$(document).on('click', ".insert_cat", function(){ var nome_cat = $('#nome_insert_cat').val(); inserisci_cat(nome_cat); });
con:
$( function() { $( '.well' ).on( 'click' , '.insert_cat', function() { var nome_cat = $( '#nome_insert_cat' ).val(); inserisci_cat( nome_cat ); }); });
e dovrebbe risolversi tutto.
Buon lavoro!
29 Novembre 2013 alle 14:33 #5579Daniel Vedovato
PartecipanteGrazie!
Potresti darmi anche una spiegazione teorica del perché non andava, giusto per non trovarmi la pappa pronta e basta!
😉
29 Novembre 2013 alle 15:10 #5580jqueryitalia
Amministratore- la funzione on va sempre impostata al document ready, onde evitare che il click avvenga prima che l’elemento sia caricato nel DOM
- non avevi settato il contenitore ( .well ) dell’elemento
29 Novembre 2013 alle 15:13 #5581Daniel Vedovato
PartecipanteGrazie!
In realtà la funzione era contenuta all’interno del document ready, ma l’ho omessa perché ho preso solo la parte di codice in questione.
Bel sito comunque 😉
29 Novembre 2013 alle 16:06 #5582jqueryitalia
AmministratorePrego!
Alla prossima 😉 - AutorePost
- Devi essere connesso per rispondere a questo topic.