2012-01-31 25 views
2

heyho,jquery:从隐藏的iframe保存表单响应到变量

我有一个表单,我发送到脚本的行动。响应被存储到预标签中的隐藏iframe中。我想用jquery将html-text答案存储到一个变量中。但问题是如何以及何时:-)! onsubmit是早期的..你能帮忙吗?

<form id="search" action="http://xyzsearchurl" target="result"> 
<input type="text" name="qparam" /> 
<input type="submit" /> 
</form> 
<iframe id="result" name="result" src="#" style="display:none;"></iframe> 

$('#search').submit(function(){ 
    alert($('#result pre').html()); 
}); 

任何想法如何获得文本形式的预标记AFTER获取响应?

非常感谢

回答

0

您可以从注册的iframe onload事件,然后阅读的内容。 注:如果框架是由同一个服务器(同源策略)加载,这只会工作

$('#search').submit(function(){ 
    //register load event of iframe... 
    $('#result').load(function() { 
    $("#result").contents().find("what you need..."); 
    }); 
}); 
+0

哎丹尼尔,遗憾的是它不相同的起源(社会化媒体API)。你知道另一种方式吗?我以为abot超时,但这不是“美丽” – 2012-01-31 13:12:41

+0

阅读JSONP请求,但您使用的其他服务器必须支持它。如果没有,你将不得不在你的服务器端使用代理... – 2012-01-31 13:28:53

+0

hey daniel,看到这个[twitter post](http://stackoverflow.com/questions/3996438/twitter-search-api-with-jquery-error )。这正是我的问题:-)我昨天没有找到它。 $ .getJSON()工作正常,但我使用声明的$ .ajax()解决方案,我更喜欢的问题。我不知道如何在firebug中看到如何获得答案(就像myCallbackFunction({JSONresponse})),但是当我尝试console.log()结果时没有任何反应 – 2012-02-01 10:39:46