在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);