Javascript 如何通过iframe使用函数?

Javascript 如何通过iframe使用函数?,javascript,forms,javascript-events,Javascript,Forms,Javascript Events,我有一个网页,上面有一个表格,下面有一个表格。表单允许用户提交信息并上传图像,表单的目标是iframe,设置为height=0 width=0。我这样做的原因是为了防止页面刷新并转到指定的操作页面。该表只是几行不同的用户数据。当用户提交数据时,我想调用一个事件来用新数据刷新表 是否有一种方法可以在提交后刷新表格和表单而不移动到新页面?使用iframe是可行的还是应该尝试其他方法?目前我唯一的想法是使用iframe,它确实可以防止页面在提交后移动到新页面。这对于AJAX技术来说是一个好方法-您向服

我有一个网页,上面有一个表格,下面有一个表格。表单允许用户提交信息并上传图像,表单的目标是iframe,设置为height=0 width=0。我这样做的原因是为了防止页面刷新并转到指定的操作页面。该表只是几行不同的用户数据。当用户提交数据时,我想调用一个事件来用新数据刷新表


是否有一种方法可以在提交后刷新表格和表单而不移动到新页面?使用iframe是可行的还是应该尝试其他方法?目前我唯一的想法是使用iframe,它确实可以防止页面在提交后移动到新页面。

这对于AJAX技术来说是一个好方法-您向服务器发出一个调用,它将返回一个HTML片段,该片段将加载到当前页面中指定的包装器元素中

虽然您可以使用标准JavaScript完成所有这一切,但大多数使用库来处理所有跨浏览器问题。最流行的是jQuery

jQuery是用JavaScript编写的,它扩展了它的功能,为您提供了强大的快捷方式和增强功能,而无需编写大量代码

见:

在您的例子中,Iframe将包含一块JavaScript,它将调用父页面中的Ajax函数


请参阅:

iframe有一个可以使用的onload事件处理程序,当表单发布时,它会调用事件处理程序,我称之为“posted”,用于更新表

    <script>
    function posted(str){
        var matches=str.match(/^.*\?data=(.*)$/);
        if(matches)
            document.getElementById("data").innerHTML+=matches[1]+"<br/>";
    }
    </script>
    <form method='get' action='nowhere.html' target='frame'>
        <input name='data'/>
    </form>
    <table width="100%" border=1>
        <tr><td id='data'></td></tr>
    </table>    

    <iframe style='display:none' name='frame' onload="posted(this.contentWindow.location.href)">
    </iframe>

功能发布(str){
var matches=str.match(/^.*\?数据=(.*)$/);
如果(匹配)
document.getElementById(“数据”).innerHTML+=匹配[1]+“
”; }
我知道你在做什么,但我使用的是post方法。