所以目前我的网站是这样工作的;您发布更新并通过 iframe 将您的更新添加到数据库中,然后显示在下面的列表中。但问题是,当您单击“提交”时,您编写的文本仍然显示在文本区域中,因为网站没有完全更新。我曾尝试使用“onsubmit”和“onclick”,但两者都删除了 textarea 的内容,然后再将其添加到数据库中,因此它显示一条空消息。
我应该怎么做才能将它延迟一秒钟,或者如何让它等待 iframe 将数据“发送”到我的 PHP 脚本?
所以目前我的网站是这样工作的;您发布更新并通过 iframe 将您的更新添加到数据库中,然后显示在下面的列表中。但问题是,当您单击“提交”时,您编写的文本仍然显示在文本区域中,因为网站没有完全更新。我曾尝试使用“onsubmit”和“onclick”,但两者都删除了 textarea 的内容,然后再将其添加到数据库中,因此它显示一条空消息。
我应该怎么做才能将它延迟一秒钟,或者如何让它等待 iframe 将数据“发送”到我的 PHP 脚本?
如果您唯一的问题是响应延迟,您可以使用给定的 触发一个setTimeout
函数:onClick
setTimeout
setTimeout(
function() {
alert('hello');
},1250 //in milliseconds
);
给您的 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
?>
您可以在jsbin上看到这些演示:
您可以使用 jQuery 定义一个click
或一个submit
事件并将请求发送到您的服务器。当服务器使用callback
. 因为callback
你需要做任何需要做的事情。在这种情况下使用setTimeout
是不必要的黑客攻击。您将设置一个很长的时间来等待损害用户体验,或者如果页面响应晚于您的页面将意外工作的指定时间。所以,与其尝试定义一个事件。