iframe完成后删除文本区域的内容


Remove content of textarea when iframe is done?

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

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

给你的文本区域一个id,假设iframe是包含文本区域的页面的一个元素,你在iframe页面中完成了以下操作:

<?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:上看到这些演示

  • http://jsbin.com/ulOyiVo/1iframe为的页面。为文本区域提供任何文本,然后单击模拟提交链接
  • http://jsbin.com/EyuBeLo/1/iframe页面

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

setTimeout(
  function() {
    alert('hello');
  },1250 //in milliseconds
);

您可以使用jQuery定义clicksubmit事件,并向服务器发送请求。当服务器使用callback进行响应时,您可以处理该事件。在callback中,你需要做任何需要做的事情。在这种情况下使用setTimeout是不必要的破解。您将设置一个很长的等待时间,以损害用户体验,或者如果页面在指定时间之后做出响应,您的页面将意外工作。因此,与其这样,不如尝试定义一个事件。