Ho scritto questo script per fare una richiesta TCPIP alla mia macchina, questo funziona correttamente.Unchaught TypeError: undefined non è una funzione durante l'utilizzo di jQuery
Quando ottengo status = 0
nell'interruttore (0 = lettore di schede non pronto) Ho scritto il codice in modo che un intervallo dopo 10 secondi "preme" nuovamente il pulsante "#print_card" in modo che riprova la richiesta.
Tutto funziona bene, ma quando si preme nuovamente il pulsante con $('#print_card').trigger("click");
ottengo il famoso errore:
TypeError Uncaught: undefined non è una funzione durante l'utilizzo di jQuery e la console dà questo al file bootstrap.min.js:6
(che è il file Bootstrap originale).
ho cercato $('#print_card').click();
e nulla cambia ...
Questo è il mio codice. Se rimuovo linea # 439 $('#print_card').trigger("click");
non ottengo l'errore ...:
var interval;
var status_timer;
function attendi_e_riprova(txt){
var sec = 10;
var interval = setInterval(function(){
if(sec != 1){
sec--;
if(sec == 1){
sec_word = 'secondo';
}else{
sec_word = 'secondi';
}
$('#card-modal-body').html('<p>'+txt+'</p>');
}else{
clearInterval(interval);
//THIS IS THE TRIGGER <-----------------------------------
$('#print_card').trigger("click");
//THIS IS THE TRIGGER <-----------------------------------
return false;
}
}, 1000);
$('.close').click(function(){
clearInterval(interval);
clearInterval(status_timer);
});
}
var codemaster = '1';
var chain = 1;
var shop = 1;
function scriviCard(){
//Another function
}
$('#print_card').click(function(){
$('#card-modal-body').html('<p><i class="fa fa-spinner fa-spin"></i> Ricerca del lettore e card, attendere…</p>');
var req = '"CWD2";"';
$.post(base_url()+'config/RichiestaTCPIP', {array:req}, function(status){
if(status == 'err'){
console.error('Errore: controller file config.php funzione di linea #117');
}else{
console.log('Status: '+status)
switch(status){
case '0':
attendi_e_riprova('<i class="fa fa-ban text-danger"></i> Lettore NON disponibile. Assicurarsi che sia collegato.');
break;
case '1':
attendi_e_riprova('Lettore vuoto. Inserire una card vergine per poterla scrivere.');
break;
case '4':
attendi_e_riprova('<i class="fa fa-check text-success"></i> Card trovata. In attesa di riconoscimento...');
break;
case '5':
attendi_e_riprova('<i class="fa fa-ban text-danger"></i> Card in scrittura. Attendere completamento.');
break;
default:
//Nuova richiesta per la creazione card (per status 2 o 3)
scriviCard();
//console.log(status)
break;
}
}
})
})
Si sta caricando jQuery prima del file di bootstrap? Stai aspettando che il DOM venga caricato prima di usare jQuery nel tuo codice? – MarcoL
* "Ho scritto questo script per fare una richiesta TCPIP alla mia macchina ..." * Non * quasi * quello di basso livello. :-) Stai chiedendo al browser di fare una richiesta HTTP per te. –
Ti mancano alcuni ';' in alcuni punti, come dopo 'clearInterval (t); }) 'ad esempio – urbz