Javascript .ajax在if语句中仅间歇触发jquery
好的,我继承了一堆代码,需要从一个非常旧的原型版本升级到jquery 3.2.1,嵌入在一个使用php和smarty模板(ugh)的非常旧的网站中 登录的用户最多可以生成五个案例编号;它们存储在会话变量和数据库中。这些是一次性的数字——如果不使用,它们最终会被回收。用户登录时,最多只能生成5个数字 我已经将旧的原型代码转换为jquery等效代码,它只是间歇性地触发。检索新案例编号的函数调用绑定到脚本的document.ready部分中加载的按钮 编辑:包括整个shebangJavascript .ajax在if语句中仅间歇触发jquery,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,好的,我继承了一堆代码,需要从一个非常旧的原型版本升级到jquery 3.2.1,嵌入在一个使用php和smarty模板(ugh)的非常旧的网站中 登录的用户最多可以生成五个案例编号;它们存储在会话变量和数据库中。这些是一次性的数字——如果不使用,它们最终会被回收。用户登录时,最多只能生成5个数字 我已经将旧的原型代码转换为jquery等效代码,它只是间歇性地触发。检索新案例编号的函数调用绑定到脚本的document.ready部分中加载的按钮 编辑:包括整个shebang fu
function GetNewCaseNumber() {
if (CurrentNumber <= 5) {
if (CurrentNumber == 1) {
NewNumber = true;
$('#getnumber').val("Get Additional Case Number");
} else {
NewNumber = confirm("Are you sure you want another Case Number?");
}
console.log("CurrentNumber: %s, NewNumber: ", CurrentNumber, NewNumber);
// Show Confirm Dialog
if (NewNumber == true) {
// Get another case number
// this fires sometimes, sometimes doesn't. why?
console.log("Div tag to update= %s", "CaseNumber" + CurrentNumber);
console.log("Current html content value= %s",$('#CaseNumber' + CurrentNumber).html());
if (($.trim($('#CaseNumber' + CurrentNumber).html()) == '') || ($('#CaseNumber' + CurrentNumber).val() == null)) {
$.ajax({
url: ("../ajax.php?event=ObtainCaseNumber&number=" + CurrentNumber),
async: true,
type: "GET",
dataType: "json",
success: function (server_response) {
console.log("Current Case Number %s", server_response);
$('#CaseNumber' + CurrentNumber).text(server_response);
$('#CaseNumber' + CurrentNumber).fadeIn("slow");
CurrentNumber++;
},
error: function (server_response) {
alert("There has been an ajax error: " + server_response);
}
});
$('#CaseNumber' + CurrentNumber).fadeIn("slow");
/* there are at least 2 casenumbers, show "these numbers" */
$('#thisnumber').html("these numbers");
}
}
// Hide Additional Buttons if this is the last one
if (CurrentNumber >= 6) {
$("#getnumber").fadeOut("slow");
}
} else {
alert("You cannot generate anymore Case Number's at this time.");
$("#getnumber").fadeOut("slow");
}
}
这是由document.ready标记中绑定的按钮上的点击事件触发的,NewNumber==true是一个警报确认。它应该更新这些div:
<div id="CaseNumber1" class="caseList" style="display:none;">{$casenumbers.1}</div>
<div id="CaseNumber2" class="caseList" style="display:none;">{$casenumbers.2}</div>
<div id="CaseNumber3" class="caseList" style="display:none;">{$casenumbers.3}</div>
<div id="CaseNumber4" class="caseList" style="display:none;">{$casenumbers.4}</div>
<div id="CaseNumber5" class="caseList" style="display:none;">{$casenumbers.5}</div>
谢谢你的帮助
朱莉
我的文件准备好了:
var CurrentNumber = 1;
$(document).ready(function() {
$('#getnumber').val("Obtain Case Number");
$("#Loading").fadeIn("slow");
/* console logging for debugging -- will be removed */
console.log("Init...");
console.log("CurrentNumber: %s", CurrentNumber);
CheckCurrentCaseNumbers();
$('#getnumber').on( "click", function()
{
console.log( "generating case number" );
console.log( "Current Number: %s", CurrentNumber );
GetNewCaseNumber();
});
});
触发此命令的按钮:
<form>
<input type="button" value="Obtain Case Number" id="getnumber" />
</form>
CurrentNumber需要是全局的(我知道jQuery实际上没有全局的),所以我首先要初始化它根据您的控制台输出,CaseNumber3元素的html内容是“11481573“not”,因此IF语句无法运行 请看突出显示的行:
(index):19 CurrentNumber: 1
(index):176 CCCN CurrentCaseNumber: CaseNumber1
(index):179 CCCN CurrentNumber: 2
(index):23 generating case number
(index):24 Current Number: 2
(index):132 CurrentNumber: 2, NewNumber: true
(index):137 Current html content value=
(index):147 Current Case Number 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573 // <-- HERE
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(索引):19当前编号:1
(索引):176 CCCN当前案例编号:案例编号1
(索引):179 CCCN当前编号:2
(索引):23生成案例编号
(索引):24当前编号:2
(索引):132当前编号:2,新编号:true
(索引):137当前html内容值=
(索引):147当前案例编号11481573
(索引):23生成案例编号
(索引):24当前编号:3
(索引):132当前编号:3,新编号:真
(索引):137当前html内容值=11481573/根据控制台输出,CaseNumber3元素的html内容为“11481573”not“”,因此IF语句无法运行
请看突出显示的行:
(index):19 CurrentNumber: 1
(index):176 CCCN CurrentCaseNumber: CaseNumber1
(index):179 CCCN CurrentNumber: 2
(index):23 generating case number
(index):24 Current Number: 2
(index):132 CurrentNumber: 2, NewNumber: true
(index):137 Current html content value=
(index):147 Current Case Number 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573 // <-- HERE
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(索引):19当前编号:1
(索引):176 CCCN当前案例编号:案例编号1
(索引):179 CCCN当前编号:2
(索引):23生成案例编号
(索引):24当前编号:2
(索引):132当前编号:2,新编号:true
(索引):137当前html内容值=
(索引):147当前案例编号11481573
(索引):23生成案例编号
(索引):24当前编号:3
(索引):132当前编号:3,新编号:真
(索引):137当前html内容值=11481573/“这是由点击事件触发的”显示事件的代码。“这是由点击事件触发的”显示事件的代码。感谢您指出这一点。我错过了。看来我的增量没有发射。我来看看。在增量附近移动,它工作得很好。再次感谢,有时能有另一双眼睛真是太好了:谢谢你指出这一点。我错过了。看来我的增量没有发射。我来看看。在增量附近移动,它工作得很好。再次感谢,有时能有另一双眼睛真是太好了:D
(index):19 CurrentNumber: 1
(index):176 CCCN CurrentCaseNumber: CaseNumber1
(index):179 CCCN CurrentNumber: 2
(index):23 generating case number
(index):24 Current Number: 2
(index):132 CurrentNumber: 2, NewNumber: true
(index):137 Current html content value=
(index):147 Current Case Number 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573 // <-- HERE
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573
(index):23 generating case number
(index):24 Current Number: 3
(index):132 CurrentNumber: 3, NewNumber: true
(index):137 Current html content value= 11481573