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