3

所以目前我的网站是这样工作的;您发布更新并通过 iframe 将您的更新添加到数据库中,然后显示在下面的列表中。但问题是,当您单击“提交”时,您编写的文本仍然显示在文本区域中,因为网站没有完全更新。我曾尝试使用“onsubmit”和“onclick”,但两者都删除了 textarea 的内容,然后再将其添加到数据库中,因此它显示一条空消息。

我应该怎么做才能将它延迟一秒钟,或者如何让它等待 iframe 将数据“发送”到我的 PHP 脚本?

4

3 回答 3

1

如果您唯一的问题是响应延迟,您可以使用给定的 触发一个setTimeout函数:onClicksetTimeout

setTimeout(
  function() {
    alert('hello');
  },1250 //in milliseconds
);
于 2013-08-28T17:11:42.443 回答
1

给您的 textarea 一个 id 并假设 iframe 是包含您在 iframe 页面中执行以下操作的 textarea 的页面元素:

<?php
//code should be done after db add
?>
<script>
o = parent.document.getElementById('textareaID');
o.value = '';
</script>
<?php 
//the end of code or something else
?>

您可以在上看到这些演示:

于 2013-08-28T17:15:10.823 回答
0

您可以使用 jQuery 定义一个click或一个submit事件并将请求发送到您的服务器。当服务器使用callback. 因为callback你需要做任何需要做的事情。在这种情况下使用setTimeout是不必要的黑客攻击。您将设置一个很长的时间来等待损害用户体验,或者如果页面响应晚于您的页面将意外工作的指定时间。所以,与其尝试定义一个事件。

于 2013-08-28T17:26:36.160 回答