Rails,Bootstrap模式,jQuery- tie事件到无效表单重新显示

时间:2014-06-04 06:20:32

标签: jquery ruby-on-rails ruby-on-rails-3 twitter-bootstrap

我已经找了一段时间的解决方案,但我空洞了。

对于我的Bootstrap模式,我有一些与.on('shown'...)绑定的jQuery逻辑。它负责修改选择选项和禁用字段,以及其他一些事项。一切都在工作,除非提交模态表单并且验证失败(验证在表单对象中,没有客户端验证)。模态会重新显示正确的错误,但我需要执行与'shown'绑定的相同jQuery。

目前,当重新显示模态时,选择包含未修改的选项,例如,<%= f.input :city_id, collection: City.active ... %>选择将显示:active范围内的所有城市,但会显示'shown' ,我发送$.getJSON请求以进一步细化选择中的城市列表,我需要能够在重新显示无效表单时执行此操作。

我不确定在我的问题中包含哪些其他代码可能有用,所以如果我应该添加其他位,请告诉我。我使用simple_form,如果相关的话。

1 个答案:

答案 0 :(得分:0)

由于您尚未添加代码,因此在回答此问题时可能非常有用。  仍然从你的解释,我似乎是,验证后如果它失败仍然你想执行一些JavaScript逻辑(显示/隐藏或做你想做的任何事情)..然后我认为你做这样的事情:

假设这是您验证失败的操作。

def create
@result = @record.valid?
#will be false if validation failed.
end

然后为该特定的aciton创建另一个create.js.erb文件..

#create.js.erb
<% unless @result %> 
//write your js code here, whatever you wish to do after validation failure. 
<% end %>