请清除我的疑问,在这里我将form
数据发送到服务器并在成功时获得response
。
<form action="/test" method="post" target="iframe"> ..... </form>
正如您所看到的,我已将target
提供给iframe
&amp;这定义在同一页面的某处。
如果服务器将响应发送回客户端,则只有iframe
刷新或重新加载 而不是整个页面。正确?
我的问题是:当iframe重新加载?
选项1:提交时(点击submit
按钮后)或
选项2:它等待响应成功收到。
我想page/iframe reload
,点击提交按钮后。然后 我只有在得到回复后才能重新使用iframe。
这是我的js
函数,可以提醒响应文本。
$(function() {
$('#iframe-id').load(function() {
alert( $(this).find('body').html() );
/* but it returns null while it loads the response text, as i can see
the response text in firebug console */
});
);
答案 0 :(得分:1)
一旦提交表单,Iframe就会开始加载服务器响应。完成加载后,iframe的 onload 事件被触发。
JS添加到问题后更新
此关键字引用主页上的IFRAME元素, NOT 指向IFRAME的文档/ DOM。要访问iframe的内容,请使用以下
$(function() {
$('#ifr').load(function() {
alert( $(this.contentWindow.document).find('body').html() );
});
});
更新2 这对我有用
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<script>
$(function() {
$('#ifr').load(function() {
alert( $(this.contentWindow.document).find('body').html() );
});
});
</script>
</head>
<body>
<form action="nextfile.html" method="post" target="iframe">
<input type='text' name='name' value='namevalue'>
<button type='submit'>submit</button>
</form>
<iframe id='ifr' name='iframe' src='nothing.html'></iframe>
</body>
</html>