Jquery Facebox-在div中加载表单会破坏表单';独特性
所以,我使用的是Facebox 1.3(最新版本) 我使用如下链接调用facebox:Jquery Facebox-在div中加载表单会破坏表单';独特性,jquery,ruby-on-rails,facebox,Jquery,Ruby On Rails,Facebox,所以,我使用的是Facebox 1.3(最新版本) 我使用如下链接调用facebox: <a href="#dialog" class="comment action_button" rel="facebox">comment</a> <div id="dialog" class="dialog" style="display: none"> <form id="redline_form"> &
<a href="#dialog" class="comment action_button" rel="facebox">comment</a>
<div id="dialog" class="dialog" style="display: none">
<form id="redline_form">
<textarea id="suggested_text" name="suggested_text" style="width: 100%; height: 250px;"></textarea>
<br>
<!-- submit button here -->
</form>
</div>
因此,我了解到,当facebox将div加载到自身中时,它会克隆DOM元素。这没关系,除了我的提交按钮之外,实际上是AJAX调用,它也通过表单的ID提交表单。由于ID不再是唯一的,它提交原始表单,而不是facebox中的表单(您可以通过向选择器添加#facebox
来获得)
如何使表单保持唯一性而不被克隆。或者,有一种方法可以在RubyonRails的link\u to\u remote中指定表单id
<%= link_to_remote "Submit Comment",
:url => { :action => :create_redline_comment_or_change,
:commit => "Submit Comment" },
:submit => "redline_form",
:html => {:id => "comment_submit"} %>
编辑:添加了一些代码,用来更改facebox中表单元素的ID,但它不起作用。我的解决方案是:将表单放入一个分部,而不是加载页面上已经存在的div(该分部被克隆,并导致多个ID相同的元素出现问题),然后将该分部加载到facebox中
对于非web应用程序,它只是加载一个URL,其中包含div.=D我正在使用Facebox 1.3和jQuery验证插件,并使用一个表单创建一个具有表单的新用户
<a onclick="jQuery.facebox({ ajax: 'includes/cuser_form.inc' })"
也许您可以将javascript代码添加到帖子中?因为问题最有可能出现在javascript端,在尝试了演示之后,它似乎确实克隆了所描述的内容。我无法帮助解决Rails方面的问题(正如你所说,这可能是解决问题的更好的地方),但一种可能的解决方法是连接到facebox.discover
事件,并将表单ID更改为唯一的。我发布了一些js,但这不会有什么帮助=\
<a onclick="jQuery.facebox({ ajax: 'includes/cuser_form.inc' })"