【发布时间】:2009-06-11 22:46:20
【问题描述】:
我将JRails 与Ruby on Rails 一起使用,这样我就可以简单地使用jQuery,因为我更熟悉它。我也在尝试使用Low Pro 远程提交我的一些表单。
我目前遇到了一个让我难过的有趣问题。我已将以下内容添加到我的 application.js 文件中,并且我知道这些都可以正常工作,因为我看到了返回的响应(在 Firefox 中使用 Firebug):
$.ajaxSetup({
dataType: "script"
});
$(function() {
$('a.remote').attach(Remote.Link);
$('form.remote').attach(Remote.Form);
});
我所要做的就是将class="remote" 添加到我的链接和表单中,一切都很好。 dataType: "script" 部分确保它对返回的响应文本执行eval(),以便它可以正确更新页面。
所以,我有一个创建新货件的简单链接。在我的new.js.rjs 文件中,我有以下内容:
page.insert_html :bottom, '#shipments_table',
:partial => 'test', :locals => { :shipment => @shipment }
如果我用page.visual_effect :fade, '#shipments_table' 替换它,它会按照您的预期进行。如果我的_test.html.erb 文件相当简单,它也可以工作。问题是当我尝试将<form> 添加到我的部分时。根据<form> 标签的位置,会出现不同的问题。比如这个
<tr>
<form>
<td>Some Text</td>
</form>
</tr>
还有这个
<form>
<tr>
<td>Some Text</td>
</tr>
</form>
绝对没有任何东西出现。这个
<form></form>
<tr>
<td>Some Text</td>
</tr>
将使Some Text 出现,但它会丢失我的所有格式。还有这个
<tr>
<td>Some Text</td>
</tr>
<form></form>
完全按照我的需要工作(从视觉上讲)。但是,这样做的明显缺点是我无法将表单输入放入表格列中,这基本上使整个过程无用。我可能可以通过简单地将它们全部放在 <div> 或类似内容中的一行来解决这个问题,但我希望所有内容都对齐。
任何关于如何解决这个难题的想法将不胜感激:-)
【问题讨论】:
标签: jquery ruby-on-rails forms jquery-plugins lowpro