Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 验证后重定向到同一页时,document.ready中的方法正在执行_Jquery_Ajax_Json - Fatal编程技术网

Jquery 验证后重定向到同一页时,document.ready中的方法正在执行

Jquery 验证后重定向到同一页时,document.ready中的方法正在执行,jquery,ajax,json,Jquery,Ajax,Json,我已经用jsp编写了一些代码 $(document).ready(function() { $("#invDiffAccount").trigger("change"); $("#adatAccount").trigger("change"); $("#originalInvNo").trigger("keyup"); $("#originalInvNo").keyup(function() { //////calling json ////// }); $('

我已经用jsp编写了一些代码

$(document).ready(function() {

$("#invDiffAccount").trigger("change");
$("#adatAccount").trigger("change");
$("#originalInvNo").trigger("keyup");



$("#originalInvNo").keyup(function() {
        //////calling json //////
    });

$('#confirmationParty').change(function(){
    ///setting some label values///
    });

$('#invDiffAccount').change(function(){
    ///setting some label values///
    });

$('#adatAccount').change(function(){
          ///setting some label values///
    });



});
我的问题是当我收到任何验证消息和页面重定向到同一页面时

它应该执行所有这些函数,因为我已经将其写入
文档。ready


有人能告诉我为什么没有发生吗?

如果在附加事件处理程序之前触发事件,则不会调用该处理程序。如果这是你要做的,首先连接,然后触发

如果要在重新加载页面时触发处理程序,则需要以不同的方式执行。事件处理程序在重新加载页面后将无法生存:

  • 当用户导航到同一域上的不同页面时,
    SessionStorage
    对象会保留其内容
  • 浏览器在导航到页面时会发送一个HTTP
    referer
    标题,其中包含上一页的URL。不过,有些浏览器不这么做
  • 如果你所要做的只是找出你是否在表单提交页面上,那么有很多方法可以做到这一点。
    • 检查DOM节点是否存在:
      if($(“#我的表单错误”).length){…
    • 让服务器向全局作用域中注入一个javascript变量:
      shouldTriggerX=true
      `。不过,要小心污染全局作用域
    • 让服务器触发事件:
      $(document).ready(onFormSubmitDone)
      。这与污染全局范围的问题相同
    • 让服务器为始终存在的某个元素设置ID或类(例如,
      body
      ):
      if($(body).is(“.form error page”){…

您应该尝试以下小重构:

$(function() {

$("#originalInvNo").on('keyup',function() {
        //////calling json //////
    });

$('#confirmationParty').on('change',function(){
    ///setting some label values///
    });

$('#invDiffAccount').on('change',function(){
    ///setting some label values///
    });

$('#adatAccount').on('change',function(){
          ///setting some label values///
    });

$("#invDiffAccount").trigger("change");
$("#adatAccount").trigger("change");
$("#originalInvNo").trigger("keyup");

});

可能有一个JS错误你没有看到。不,我使用的是firebug,它的控制台没有显示任何JS错误。好的,
}
在最后一个
})之前$(文档)的代码>。就绪(..)
将导致语法错误。不,这是我的打字错误…我为同样的错误道歉。您是否确实试图在附加处理程序之前通过触发事件来运行事件处理程序?
$(function() {

$("#originalInvNo").on('keyup',function() {
        //////calling json //////
    });

$('#confirmationParty').on('change',function(){
    ///setting some label values///
    });

$('#invDiffAccount').on('change',function(){
    ///setting some label values///
    });

$('#adatAccount').on('change',function(){
          ///setting some label values///
    });

$("#invDiffAccount").trigger("change");
$("#adatAccount").trigger("change");
$("#originalInvNo").trigger("keyup");

});