以下HTML结构:jQuery,Ajax,Rails:提交一个带有单独userpassword字段的rails表单?
<%= form_for :user, :url => ajax_user_details_path, :html => { :id => 'accountPasswordForm' } do |user| -%>
<span class="text1" >new password:</span>
<%= password_field :user, :password, :class => 'input1', :id => 'accountNewPassword' %>
<span class="text1" >repeat password:</span>
<%= password_field :user, :password_confirmation, :class => 'input1', :id => 'accountRepeatPassword' %>
<!-- <span class="text1" >current password:</span>
<%= password_field :user, :current_password, :class => 'input1', :id => 'accountRepeatPassword' %> -->
<button class="button1" id="accountPasswordFormSubmit" name="accountPasswordFormSubmit" type="submit" >change password</button>
<% end -%>
这是通过AJAX sumbitted工作形式。不过,我希望当前的密码字段不在此表单内,而是在按下submitbutton时出现在叠加层中。
我想知道我该如何解决这个问题?
所以我已经有一个工作ajax提交功能和覆盖。 我打电话提交表单的功能是本triggerAjaxSubmit
:
function triggerAjaxSubmit(formId) {
$(formId).ajaxSubmit({
type: "POST",
dataType: "text json",
success: function(jsonObject,status) {
console.log("function() triggerAjaxSubmit : " + status);
}
});
}
所以现在我想有当前密码形式的覆盖,因此,我调用注入表单提交了类似的功能。
在formsubmit上,我现在调用以下函数triggerAjaxSubmitConfirmation
,它弹出覆盖当前密码字段。提交此最终按钮后,我再次调用triggerAjaxSubmit
函数。
function triggerAjaxSubmitConfirmation(formId) {
showOverlay();
$('.overlay form').submit(function(e) {
e.preventDefault();
triggerAjaxSubmit(formId);
});
}
我的问题是,我不知道这实际上应该如何工作! 现在我在上面的代码示例中评论了当前密码字段。弹出式叠加中的代码与当前密码字段具有相同的功能。
<div class="overlay">
<%= form_for :user, :url => ajax_user_details_path, :html => { :id => 'accountPasswordForm' } do |user| -%>
<span class="text1" >current password:</span>
<%= password_field :user, :current_password, :class => 'input1', :id => 'accountRepeatPassword' %>
<% end -%>
</div>
我只是需要一点提示/提示如何实际解决这个问题!我可以通过javascript将“新密码”和“重复密码”分配(或交给)叠加形式吗?
我根本不知道如何做到这一点。
谢谢您的帮助