2011-08-03 30 views
0

提交两次我有一个表格标签中包含以下内容:形式:远程=>为真,在IE

 <%= form_tag(new_invitations_invitations_path, :remote => true) do %> 
     <%= hidden_field_tag(:provider, "yahoo") %> 
     <dl> 
      <dt><strong>Your email:</strong></dt> 
      <dd><%= text_field_tag('email') %></dd> 
     </dl> 
     <dl> 
      <dt><strong>Password:</strong></dt> 
      <dd><%= password_field_tag('pass') %></dd> 
     </dl> 
     <dl> 
      <dt>&nbsp;</dt> 
      <dd><%= submit_tag "Import your address book", :disable_with => "Please wait..." %></dd> 
     </dl> 
     <% end %> 

以上给出输出HTML如下:

<form accept-charset="UTF-8" action="/invitations/new_invitations" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="EC+HcCqnxadujZg8CMWHGT1blQ3KoIddlnR8teWaowQ=" /></div> 
    <input id="provider" name="provider" type="hidden" value="yahoo" /> 
    <dl> 
    <dt><strong>Your email:</strong></dt> 
    <dd><input id="email" name="email" type="text" /></dd> 
    </dl> 
    <dl> 
    <dt><strong>Password:</strong></dt> 
    <dd><input id="pass" name="pass" type="password" /></dd> 
    </dl> 
    <dl> 
    <dt>&nbsp;</dt> 
    <dd><input data-disable-with="Please wait..." name="commit" type="submit" value="Import your address book" /></dd> 
    </dl> 

当尝试上述提交在IE中通过按下提交按钮的形式,表单被提交两次。问题是,一旦它被提交格式为JS,这是正确的。一旦它被提交为HTML是错误的。由于第二次提交,我得到了一个不可接受的错误。

任何线索?

+0

你有任何JavaScript绑定到这个表单的提交事件吗? – felix

+0

不,我没有任何绑定。事实证明,我的应用程序中有较旧版本的rails.js。升级解决了上述问题。 – Waseem

+0

请在下面添加您的解决方案作为答案,以便人们知道此问题已关闭。 – iwasrobbed

回答

0

事实证明,我的应用程序中有Prototype和rails.js的旧版本。升级解决了这个问题。