【问题标题】:Jquery redirect stopped workingJquery重定向停止工作
【发布时间】:2014-04-21 12:26:54
【问题描述】:

我有一个用于消息等的基本 jquery 模态窗口。它在过去 2 天之前一直运行良好。我试过散列代码,甚至一个基本的测试都行不通。

这是脚本:

              $(document).ready(function() {

              $("#dialog").html("Please login - redirecting...");

              $("#dialog").dialog({

                  autoOpen: true,
                  show: "fade",
                  hide: "fade",
                  modal: true,
                  open: function(event, ui) {

                      setTimeout(function(){
                          $("#dialog").dialog("close");                
                      }, 2000);

             }
              });

          $(function() {
              $("#dialog").dialog({
                  close: function(event, ui) { 

                    location.href = "login.php" }
              });
          });

           });

有什么想法吗??我查看了 window.location 文章,但那也不起作用..

【问题讨论】:

    标签: jquery redirect href window.location


    【解决方案1】:

    我的错 - 我在其他地方有一个幻影 JS 右括号 - 前几次我尝试散列代码,它一定被跳过了或其他东西 - 道歉。

    我会把脚本放在这里,因为它是一个很好的模式消息窗口,它会消失。下面是php函数:

    function ModalRedir($msg,$redir,$ms){
    
    if(!isset($ms)){
      $ms=800;
    }
    
      if($redir !==0){
        $fwd='$(function() {
                  $("#dialog").dialog({
                      close: function(event, ui) { location.href = "'.$redir.'" }
                  });
              });';
      }
      else{
        $fwd='';
      }
    
    
      echo ' 
    
               <script>
              $( document ).ready(function() {
    
                  $("#dialog").html("'.$msg.'");
    
                  $("#dialog").dialog({
    
                      autoOpen: true,
                      show: "fade",
                      hide: "fade",
                      modal: true,
                      open: function(event, ui) {
    
                          setTimeout(function(){
                              $("#dialog").dialog("close");                
                          }, '.$ms.');
    
                 }
                  });
    
              '.$fwd.'
    
               });
    
              </script>
    
              <div id="dialog" style="display:none;">
    
              </div>
    
              ';
    

    }

    只需运行这个:

    echo ModalRedir('Please login - redirecting...','path/to/file(login.php)',ModalWait);
    

    ModalWait 是定义变量,我的是 2000ms..

    【讨论】:

      【解决方案2】:

      setTimeout 更改为setInterval,如下图dialog.open 函数所示。

      $(document).ready(function() {
      
                $("#dialog").html("Please login - redirecting...");
                $("#dialog").dialog({
                    autoOpen: true,
                    show: "fade",
                    hide: "fade",
                    modal: true,
                    open: function(event, ui) {
                        setInterval(function(){
                            $("#dialog").dialog("close");                
                        }, 2000);
               }
                });
      
            $(function() {
                $("#dialog").dialog({
                    close: function(event, ui) { 
                      location.href = "login.php" }
                });
            });
             });
      

      【讨论】:

      • 还是不行。以前的代码可以工作,我不知道什么可以改变/停止它。我做了一些 php 编码等。我的代码有效吗??
      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 2013-10-09
      • 2015-07-16
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多