gpt4 book ai didi

函数中的 Javascript 调用函数不起作用

转载 作者:行者123 更新时间:2023-11-29 14:43:09 25 4
gpt4 key购买 nike

我正在尝试创建一个非常简单的聊天系统,在用户提交新聊天消息时自动刷新和刷新。

我目前有两个函数 - 一个用于提交新消息、清除表单和刷新聊天(使用下一个函数)调用 clearchat():

function clearchat() {
var frm = document.getElementById('chatform');
document.getElementById('fullmessage').value = document.getElementById('chatmsg').value;
frm.submit(); // form is being submitted to a hidden iframe.
frm.reset();
refreshchat();
}

然后另一个刷新聊天,它应该在 clearchat() 运行时调用,并且也使用间隔每 3 秒调用一次:

function refreshchat() {
$('#qcwindow').load(document.URL + ' #qctext');
$('#chatwindow').load(document.URL + ' #chattext');
var chatwindow = document.getElementById('chatwindow');
var difference = chatwindow.scrollHeight - chatwindow.scrollTop;
if(difference < 750) {
chatwindow.scrollTop = chatwindow.scrollHeight;
}
}

此函数将新的聊天信息加载到 DIV 中,然后将其滚动到 div 的底部,除非用户手动滚动离开 div 的底部。

这两个功能单独工作。我遇到的问题是,当用户提交新消息时,它提交表单并清除表单,但不会刷新聊天。不过,聊天仍然每 3 秒自动刷新一次。但我希望用户的新消息立即显示出来。

我一辈子都弄不明白为什么 clearchat() 函数中的 refreshchat() 函数没有被调用。

如有任何帮助,我们将不胜感激。谢谢。

更新:

我已经将 console_log("refrehsed") 添加到 refreshchat() 函数中,每次通过手动输入和自动刷新,但 div 实际上仅在自动刷新时更新。

最佳答案

当您将表单提交到 iframe 时,您应该等待发布完成,然后再更新 UI。通过监听表单所针对的iframe的加载事件,可以知道表单提交完成。

关于函数中的 Javascript 调用函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com