【问题标题】:Updating div that has dynamic content更新具有动态内容的 div
【发布时间】:2015-02-01 12:11:34
【问题描述】:

我有一个显示用户发送消息的 div,当用户单击“save_convo”按钮时,div 内容被翻译为一个名为“story”的 JS 变量,传递一个查询字符串并显示在不同的页面上。

JS

    var element = document.getElementById('msg_display');
    var story = element.textContent || element.innerText; 
 // Getting text content as we only want to display the messages

$( document ).ready(function() { // button that triggers passing of data
$('#save_convo').click(function() {
    window.location.href = 'http://ex.com/publish.php?convo=' + story + '';
    return false;
});
});

HTML

<div id="msg_display">
<!-- messages are shown here -->
</div>

问题在于,由于 div 内容最初是空的(在页面加载时没有消息),当用户单击按钮时,他们会被带到一个空白页面,该页面不显示任何由用户。向 div 发送消息后如何更新它?我也考虑过使用 AJAX 重新加载 div,但我认为它只会刷新 div 并删除消息而不是保留它们。

有什么建议吗?

【问题讨论】:

  • 我不明白,什么消息,来自哪里?你确定你不是在寻找更像 Websockets 的东西吗?
  • 这是一个websocket应用,用户在聊天输入框输入,点击发送,消息显示在msg_display div中。我只想将数据从 div 传递到另一个页面。
  • 相当低谷的问题,我建议使用 AJAX,但正如你所说,它只会清除 div 中的所有当前数据。如果将数据放入 textarea 会更好,因为从那里更新值很容易,但我认为您选择 div 是有充分理由的。

标签: javascript jquery html ajax


【解决方案1】:

使用document.getElementById('msg-display').innerHTML 代替.innerTexttextContent

【讨论】:

  • 已经试过了,不行。问题是 div 没有根据发送的新消息更新它的值
猜你喜欢
  • 2021-06-13
  • 1970-01-01
  • 2019-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
相关资源
最近更新 更多