从外部iframe+;使用数据调用控制器操作 序言:我认为自己在Ruby on Rails中“稍微有效”,并且在JavaScript中是一个完整的新手。另外,是的,我安装了jQuery和相关插件,而不是默认的原型库。 我所处的情况是,我在iframe(为我处理所有内部JS)中从非现场拉入一个表,这样当单击表的一部分时,td将获得类“active”。我想做的是获取此信息(我假设可以以字符串格式获取),并将其传递给一个方法(在我的控制器中,我假设)将解析html,提取相关信息,然后使用解析的信息调用同一控制器中的创建方法,最终结果是该表中的一个新项
到目前为止,我所掌握的是javascript,我认为它是正确的:从外部iframe+;使用数据调用控制器操作 序言:我认为自己在Ruby on Rails中“稍微有效”,并且在JavaScript中是一个完整的新手。另外,是的,我安装了jQuery和相关插件,而不是默认的原型库。 我所处的情况是,我在iframe(为我处理所有内部JS)中从非现场拉入一个表,这样当单击表的一部分时,td将获得类“active”。我想做的是获取此信息(我假设可以以字符串格式获取),并将其传递给一个方法(在我的控制器中,我假设)将解析html,提取相关信息,然后使用解析的信息调用同一控制器中的创建方法,最终结果是该表中的一个新项,javascript,jquery,ruby-on-rails,iframe,Javascript,Jquery,Ruby On Rails,Iframe,到目前为止,我所掌握的是javascript,我认为它是正确的: <script type="text/javascript"> var ImportInfo = function() { var info = $('td.active').html(); // call controller action which parses the given string, //checks for existence in database, and adds new r
<script type="text/javascript">
var ImportInfo = function() {
var info = $('td.active').html();
// call controller action which parses the given string,
//checks for existence in database, and adds new row if needed
}
$("#Import").click(ImportInfo);
</script>
var ImportInfo=函数(){
var info=$('td.active').html();
//调用分析给定字符串的控制器操作,
//检查数据库中是否存在,并在需要时添加新行
}
$(“#导入”)。单击(导入信息);
当然,还有一个id为“导入”的按钮
我已经看了这个问题:但是我有点不确定如何调用一个控制器操作来将td的内容作为字符串传递。这在jQueryPost方法中可行吗
新增信息:
我的iframe:
<iframe id='locator' src="http://hosted.where2getit.com/wafflehouse/indexnew.html" width="740" height="700" marginheight="0" marginwidth="0" scrolling="no" frameborder="0" align="bottom" name="plg_iframe">No Frames</iframe>
无帧
很遗憾你放弃了原型——我本可以帮你更好;-)
jQuery专家可以随时纠正我的错误,但我相信您需要以下内容:
<script type="text/javascript">
var ImportInfo = function() {
var info = $('td.active').html();
// call controller action which parses the given string,
//checks for existence in database, and adds new row if needed
$.ajax({
url: '/controller/action',
data: { paramName: info }
})
}
$("#Import").click(ImportInfo);
</script>
var ImportInfo=函数(){
var info=$('td.active').html();
//调用分析给定字符串的控制器操作,
//检查数据库中是否存在,并在需要时添加新行
$.ajax({
url:“/controller/action”,
数据:{paramName:info}
})
}
$(“#导入”)。单击(导入信息);
如果您想使用Prototype,可以使用:
<script type="text/javascript">
var ImportInfo = function() {
var info = $$('td.active')[0].innerHTML;
// call controller action which parses the given string:
new Ajax.Request('/controller/action',{
method: 'post'
parameters: { paramName: info }
})
}
$("#Import").click(ImportInfo);
</script>
var ImportInfo=函数(){
var info=$$('td.active')[0].innerHTML;
//调用分析给定字符串的控制器操作:
新的Ajax.Request(“/controller/action”{
方法:“发布”
参数:{paramName:info}
})
}
$(“#导入”)。单击(导入信息);
现在,在重新阅读您的问题后,我发现您想要从中获取数据的
位于不同站点的iFrame中,是否正确?如果是这样,由于安全限制,JavaScript将无法访问该iFrame。有关“跨域iframe安全性”,请参阅或谷歌。如果这是你的问题,请提供更多关于这两个领域的细节。。。你可能运气不好,也可能运气不好。可惜你放弃了原型——我本可以帮你更好;-)
jQuery专家可以随时纠正我的错误,但我相信您需要以下内容:
<script type="text/javascript">
var ImportInfo = function() {
var info = $('td.active').html();
// call controller action which parses the given string,
//checks for existence in database, and adds new row if needed
$.ajax({
url: '/controller/action',
data: { paramName: info }
})
}
$("#Import").click(ImportInfo);
</script>
var ImportInfo=函数(){
var info=$('td.active').html();
//调用分析给定字符串的控制器操作,
//检查数据库中是否存在,并在需要时添加新行
$.ajax({
url:“/controller/action”,
数据:{paramName:info}
})
}
$(“#导入”)。单击(导入信息);
如果您想使用Prototype,可以使用:
<script type="text/javascript">
var ImportInfo = function() {
var info = $$('td.active')[0].innerHTML;
// call controller action which parses the given string:
new Ajax.Request('/controller/action',{
method: 'post'
parameters: { paramName: info }
})
}
$("#Import").click(ImportInfo);
</script>
var ImportInfo=函数(){
var info=$$('td.active')[0].innerHTML;
//调用分析给定字符串的控制器操作:
新的Ajax.Request(“/controller/action”{
方法:“发布”
参数:{paramName:info}
})
}
$(“#导入”)。单击(导入信息);
现在,在重新阅读您的问题后,我发现您想要从中获取数据的
位于不同站点的iFrame中,是否正确?如果是这样,由于安全限制,JavaScript将无法访问该iFrame。有关“跨域iframe安全性”,请参阅或谷歌。如果这是你的问题,请提供更多关于这两个领域的细节。。。你可能运气不好,也可能运气不好。Heh,如果你能从一开始就帮助我制作原型,我将非常愿意切换回去。这是项目中JS的第一个(可能也是唯一的一个)部分,所以它不会后退太多步。我切换的唯一原因是因为和我交谈过的同事推荐jQuery而不是Prototype。@Zind:请看我编辑过的答案。请注意,由于跨域iframe安全性的原因,您尝试执行的操作听起来是不可能的。是的,我注意到,当我在firebug中闲逛时,这可能是一个问题,我只是想看看我到目前为止所做的是否能够获取正确的数据-我可能真的运气不佳,但无论如何,感谢JS的帮助,如果我最终能够跨越这个鸿沟,它会非常有用。发布关于这个问题的更多信息,关于iFrame的一些细节,我会修改我的答案。我添加了iFrame,它应该包含大部分信息。我在firebug中玩得很乱,能够看到iframe和它的html,但是没有一个源代码的html,正如预测的那样。嘿,如果你能从原型开始就帮助我,我非常愿意切换回去。这是项目中JS的第一个(可能也是唯一的一个)部分,所以它不会后退太多步。我切换的唯一原因是因为和我交谈过的同事推荐jQuery而不是Prototype。@Zind:请看我编辑过的答案。请注意,由于跨域iframe安全性的原因,您尝试执行的操作听起来是不可能的。是的,我注意到,当我在firebug中闲逛时,这可能是一个问题,我只是想看看我到目前为止所做的是否能够获取正确的数据-我可能真的运气不佳,但无论如何,感谢JS的帮助,如果我最终能够跨越这个鸿沟,它会非常有用。发布关于这个问题的更多信息,关于iFrame的一些细节,我会修改我的答案。我添加了iFrame,它应该包含大部分信息。我在firebug中乱搞,能够看到iframe和它的html,但是没有一个源代码的html,正如预测的那样。