如何在jquery中更新动态标签后重定向第二个html页面



在first.html中点击按钮后,我已经在second.html中调用了函数和更新的标签,但我能够看到second.html中无法看到更新的标签值,请帮助我如何实现。

function updateLabels(){
         $('#entryNumber').text("123");
         $('#responsedate').text("23-9-2015");
         window.location = 'second.html';
}

例:second.html

<body>
     <label>Entry Number:</label>
     <label id="entryNumber" for="entryNumber"></label><br><br>
     <label>Respond Date:</label>
     <label id="responsedate" for="responsedate"></label><br><br>
     <label>Response Text:</label> 
</body>

您可以在客户端通过…3选择

1。By Local Storage

  • 在第一页设置您的第二页标签值在本地存储。

        // In 1st page
        function updateLabels(){
        localStorage.setItem('Second_Page_LabelVal', "apple");
           window.location = 'second.html';
        }
    
  • 在第二页从本地存储获取此值并将其设置为您的标签值

    // In 2ndPage
    $( document ).ready(function() {
    // Retrieve the object from storage
         var retrievedVal = localStorage.getItem('Second_Page_LabelVal');
         $("2ndpagelabelId").text(retrievedVal);
    });
    

2。通过cookie

  • 在第一页设置你的第二页标签值在COOKIES。

          function createCookie(name,value,days) {
           if (days) {
           var date = new Date();
           date.setTime(date.getTime()+(days*24*60*60*1000));
           var expires = "; expires="+date.toGMTString();
           }
          else var expires = "";
          document.cookie = name+"="+value+expires+"; path=/";
          }
    
            // In 1st page
            function updateLabels(){
            createCookie(('Second_Page_LabelVal', "apple",1);
               window.location = 'second.html';
             }
    
  • 在第二页得到这个值从COOKIE和设置它为您的标签值

    // In 2ndPage
    function readCookie(name) {
       var nameEQ = name + "=";
       var ca = document.cookie.split(';');
       for(var i=0;i < ca.length;i++) {
       var c = ca[i];
       while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return  
                 c.substring(nameEQ.length,c.length);
      }
      return null;
    

    }

    $( document ).ready(function() {
    // Retrieve the object from cookie
         var retrievedVal = readCookie('Second_Page_LabelVal');
         $("2ndpagelabelId").text(retrievedVal);
    });
    

3。Url

  • 用查询字符串中的第二页值重定向页面

     // In 1st page
        function updateLabels(){
           window.location = 'second.html?SecondpageValue=value1';
        }
    
  • 从url中获取值并设置为label

     function getParameterByName(name) {
        name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
        var regex = new RegExp("[\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
          return results === null ? "" :           
        decodeURIComponent(results[1].replace(/+/g, " "));
     }
    $( document ).ready(function() {
        // Retrieve the object from url
             var retrievedVal = getParameterByName('SecondpageValue');
             $("2ndpagelabelId").text(retrievedVal);
        });
    

Html页面不会保存你的状态,我们通常需要一个服务器端程序来处理。

在你的情况下,也许模态对话框是有用的

尝试使用$.get(),在同一文档中用.replaceWith()代替window.location

function updateLabels(html){
         $(html).find("#entryNumber").text("123");
         $(html).find("#responsedate").text("23-9-2015");
         $("body").replaceWith(html);
}
$.get("second.html", updateLabels);

最新更新