为什么JavaScript表单在Chrome中有效,而在Firefox中无效
why JavaScript form works in Chrome but not in Firefox
我需要以下函数才能在Firefox中执行。。,但它在铬合金中运行良好。问题是当我做"用萤火虫检查元素"时,它工作得很好。方法"EditEncounterBillStatus"也正确命中。但当我不使用"Inspect Element With Firebug"时,方法EditEncounterBillStatus不会命中。。我试了很多办法来解决这个问题。但我仍然无法帮助我找到解决方案,提前谢谢。
else if (element.trim() == "Approved") {
var TestPin = prompt("Please Enter your PIN");
if (TestPin != null) {
if (isNaN(TestPin)) {
alert("Please Enter a Valid Pin");
return;
}
else if (TestPin == pin) {
var postVisitData = { VisitId: vid};
$.post("/Emr/WaitingRoom/EditEncounterBillStatus", { VisitId: vid }, function (data) {
});
window.location = "/Emr/Patients/Show?PID=" + pid;
}
else {
alert("Your Entered PIN Is Incorrect");
}
}
else {
return;
}
}
我建议像这样做
else if (TestPin == pin) {
$.post("/Emr/WaitingRoom/EditEncounterBillStatus", { VisitId: vid }, function (data) {
window.location = "/Emr/Patients/Show?PID=" + pid;
});
return; // in case of side effects in unseen code
}
即等待$.post完成后再更改window.location
由于您的代码的其余部分是看不见的,以这种方式执行可能会有副作用-因此会返回到原来的位置-但即使这样,在不知道完整调用堆栈的情况下,仍然可能有副作用,您已经收到警告
您应该在post
调用成功后更改位置,因此将其放在回调函数体中:
$.post("/Emr/WaitingRoom/EditEncounterBillStatus", { VisitId: vid },
function (data) {
window.location = "/Emr/Patients/Show?PID=" + pid;
});
通过这种方式,您可以确保仅在执行post
操作时更改位置。否则,您可能会在post
发生之前更改位置。在调试模式下,当然当您逐步完成代码时,post
有足够的时间及时完成,因此您的原始代码就可以工作了。
相关文章:
- JavaScript 在 Chrome 中工作,而不是在 Firefox 中
- window.open在firefox上工作,而不是在chrome上
- 为什么您需要在firefox中为onClick传递事件,而不使用Angular为chrome传递事件
- 为什么setTimeout在Chrome中触发两次,而在IE或Firefox中却没有
- java脚本退格键和删除在IE中工作,而不是在FireFox中工作
- 为什么这个表达式在 Firefox/Chrome 中返回 true,而在 IE 中返回 false
- 在Firefox或Chrome中获取
二进制文件,而无需提出新请求
- Backbone.js - CSS更改正在等待JavaScript完成 - 在Firefox中工作,而不是在Chrome
- 消息在 Chrome 和 IE 中不显示,而在 Firefox 中工作
- 为什么鼠标滚轮在Chrome中工作,而在Firefox中不起作用
- JavaScript在Firefox或Chrome而不是IE中工作
- 自动对焦属性在 Firefox 中因显示状态更改而不起作用
- Javascript:当Javascript在IE中工作而在Firefox或其他浏览器中不工作时,有什么不同的条件
- 为什么JavaScript表单在Chrome中有效,而在Firefox中无效
- 为什么这条画布线在Chrome中有颜色,而在Firefox中没有
- JSON:选择的选项在IE中不工作,而在firefox中工作
- 为什么条件块中的函数声明在Chrome中提升到函数作用域,而在Firefox中不是?
- 为什么经过验证的CORS请求的preflight OPTIONS请求在Chrome中工作,而在Firefox中不起作用?
- 我得到错误$没有在我的jsp文件中定义,而在firefox上运行
- 下面的jquery没有't在chrome中工作,而在firefox中工作