0
で二回提出:形式:リモート=> trueの場合、私は以下のことのようにformタグを持っているIE
<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="✓" /><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> </dt>
<dd><input data-disable-with="Please wait..." name="commit" type="submit" value="Import your address book" /></dd>
</dl>
は私が上記提出しようとすると:
<%= 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> </dt>
<dd><%= submit_tag "Import your address book", :disable_with => "Please wait..." %></dd>
</dl>
<% end %>
の上に次のような出力HTMLを与えます送信ボタンを押してフォームをIEに送信すると、フォームは2回送信されます。問題は、正しい形式のJSとして提出されたことです。そして、それが間違っているHTMLとして提出されると。 2回目の提出のため、406の許容できないエラーが発生します。
手がかりはありますか?
このフォームの送信イベントにはJavaScriptがバインドされていますか? – felix
いいえ、私はバインディングを持っていません。私のアプリケーションには古いバージョンのrails.jがあることが判明しました。上記の問題を解決したアップグレード。 – Waseem
あなたの解決策を以下の回答として追加して、人々がこの質問を閉じていることを知ってください。 – iwasrobbed