使用上一页中的值更新<div>文本</div>

时间:2015-03-28 15:25:10

标签: javascript jquery html

当用户点击&#34;编辑&#34;时,我会将用户从另一个页面重定向。按钮使用下面的代码。

$('#editListButton').click(function(){ 
    window.location.href = "http://localhost/yyy.php";  //redirect

   // Changes that need to be made
   $('#defaultText').remove();
   $('#orderList').append('<p' + 'message'  + '</p>');
}); 

页面重定向到预定义链接,之后我需要更新带有文本的html <div>标记。但是来自其他页面的代码什么也没做。如何更改div标签中的文本?

3 个答案:

答案 0 :(得分:3)

将其传递到网址。

$('#editListButton').click(function(){ 
   window.location.href = "http://localhost/yyy.php?message";  //redirect
}); 

然后在另一页

var url = window.location.href.split('?');
var msg = url[1];

$('#defaultText').remove();
$('#orderList').append('<p>' + msg  + '</p>');

答案 1 :(得分:2)

一旦你触发了一个将重新加载整个页面的操作,浏览器(不是全部,但似乎大多数)只会退出当前页面的任何内容,实际上忽略了事件循环中的任何DOM更新。 / p>

为了解决这个问题,通常可以通过短暂的超时延迟重定向:

setTimeout(function() {
  window.location.href = "http://localhost/yyy.php"; 
}, 1);

现在浏览器不知道要重新加载页面,所以它会服从你的DOM更新请求。

编辑 - 如果您期望的是(并且OP中并不是很清楚,但是在下面的评论中暗示了这一点)是更新位置后的代码会影响页面,这不是事情的运作方式。您可以将该代码放在新页面中(如果需要,可以通过您正在加载的URL传递参数)并让它在那里运行,否则您可以完全更改架构并通过ajax加载新代码。

答案 2 :(得分:1)

有很多方法可以将信息从一个页面传递到另一个页面。为了解这个概念,有点与发布的问题有关,这里有一个:

第A页:

$('#editListButton').click(function(){ 
  window.location.href = "http://localhost/yyy.php?action=remove&value=" + 
    encodeURIComponent('ashdahjsgfgasfas');    
});

Page B:

var action = /(?:\?|&)action=([^&$]+)/.exec(location.search)
if ( 'remove' === action[1] ) {
    var value = /(?:\?|&)value=([^&$]+)/.exec(location.search)
    $('#defaultText').remove();
    $('#orderList').append('<p>' + value[1]  + '</p>');
}