我想在JQuery Dialog中渲染一个模态窗体。我使用了生成Scaffold期间创建的现有表单。现在,我在通过对话框按钮而不是html提交表单时遇到了一些问题。
单击按钮后,下面的表单将在JQuery对话框中呈现。 (由脚手架制作)
<%= form_for(@user, :remote=>true) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :user_name %><br />
<%= f.text_field :user_name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.text_field :password %>
</div>
<div class="field">
<%= f.label :account_type %><br />
<%= f.text_field :account_type %>
</div>
<div id="submit-button" class="actions">
<%= f.submit %>
</div>
<% end %>
现在,我希望将提交按钮更改为JQuery函数。 以下代码为JQuery中的按钮。
<div id="submit-button" class="actions">
<%= f.submit %>
</div>
这是模态形式的Jquery代码。
$( "#form" ).dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
closeOnEscape: true,
resizable:false,
buttons: {
"Create an account": function() {
$("#form").submit();
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
所以基本上是从
改变它 <div id="submit-button" class="actions">
<%= f.submit %>
</div>
类似
$("#form").submit();
我面临一些问题,我认为这可能与引用有关,但我无法弄清楚如何改变它。 任何建议将不胜感激。