【发布时间】:2014-06-12 16:08:58
【问题描述】:
我已经编写了这个脚本来向我的机器发出 TCPIP 请求,这很好。
当我在开关中获得status = 0(0 = 读卡器未准备好)时,我编写了代码,以便 10 秒后的间隔再次“按下”“#print_card”按钮,以便再次尝试请求。
一切正常,但是当我用$('#print_card').trigger("click"); 再次按下按钮时,我得到了著名的错误:
Uncaught TypeError: undefined is not a function while using jQuery 控制台将其提供给 bootstrap.min.js:6 文件(即原始 Bootstrap 文件)。 p>
我尝试了$('#print_card').click();,但没有任何变化......
这是我的代码。如果我删除 #439 $('#print_card').trigger("click"); 行,我不会收到错误消息...:
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;
}
}
})
})
【问题讨论】:
-
你是在引导文件之前加载 jQuery 吗?在代码中使用 jQuery 之前,您是否正在等待加载 DOM?
-
“我编写了这个脚本来向我的机器发出 TCPIP 请求……”几乎没有那么低级。 :-) 您要求浏览器为您发出 HTTP 请求。
-
您在某些地方缺少一些
;,例如在clearInterval(t); })之后 -
尝试使用
$('#print_card').click(); -
@MarcoCI jQuery 首先加载,其次是引导程序,第三个代码不在外部文件中,而是在页面本身中。
标签: jquery