如何在 Facebox 中使用 client_side_validation 插件
今天我安装了 client_side_validation 插件,一切正常,直到我遇到问题,表单验证无法在模态窗口(facebox)中完成。每次我单击提交按钮时,无论输入什么内容,它都会关闭模式窗口并更新内容。这是我的代码。
我的表单
<%= form_for (@task, :remote=>true, :validations => true) do |f| %>
<div class="field">
<%= f.label "Remind me every"%>
<%= f.text_field :frequency %>
<%= f.label "days before" %>
</div>
<div class="field">
<br/>
<%= f.date_select :deadline, :start_year=>Time.now.year,:include_blank => true%>
<%= f.submit "Submit" %>
</div>
<% end %>
我在控制器中的更新功能
def update
@task=Task.find(params[:id]);
@task.update_attributes(params[:task])
@task.reminded=true
respond_to do |format|
if @task.save
format.html
format.js{
render :update do |page|
page << "jQuery.facebox.close();"
yield(page) if block_given?
end
}
else
format.html
format.js
end
end
end
有人可以帮我吗?谢谢!
Today I installed client_side_validation plugin, everything works well until I encountered an issue, form validation cannot be accomplished in a modal window(facebox). Every time I clicked on submit button, it will close the modal window and update stuff regardless of what have been typed. Here is my code.
My form
<%= form_for (@task, :remote=>true, :validations => true) do |f| %>
<div class="field">
<%= f.label "Remind me every"%>
<%= f.text_field :frequency %>
<%= f.label "days before" %>
</div>
<div class="field">
<br/>
<%= f.date_select :deadline, :start_year=>Time.now.year,:include_blank => true%>
<%= f.submit "Submit" %>
</div>
<% end %>
My update function in controller
def update
@task=Task.find(params[:id]);
@task.update_attributes(params[:task])
@task.reminded=true
respond_to do |format|
if @task.save
format.html
format.js{
render :update do |page|
page << "jQuery.facebox.close();"
yield(page) if block_given?
end
}
else
format.html
format.js
end
end
end
Can anyone help me out here? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须在想要弹出的页面中添加 javascript。
要进行测试,需要布局的所有 javascript 以及是否应该没问题。
对我有用。
You have to add the javascript in page you want popup.
To test, require all the javascripts of your layout and if should be fine.
Works for me.