2

検索フォームでタイプウォッチを使用しています。このようなものを実装すると

$('#search_groups').submit(function() {
    alert("testing");
    return false;
});

警告メッセージがポップアップ表示されますが、フォームの送信リクエストは引き続きAJAXを介して処理されます。ただし、これは、Returnキーを押すだけで、typewatchの送信タイマーを加速するかのように通過する唯一のリクエストです。これはここで何が起こっているのですか?タイプウォッチのソースコードを調べましたが、何も見つかりませんでした。また、上記のコードを削除すると、フォームはJSリクエストとHTMLの2回送信されます。送信アクションをキャンセルしなくなったため、HTMLリクエストは処理されています。また、JSリクエストの背後にある理由は、目前の主要な問題、つまり、バインドされたフォームが送信されたときにタイプウォッチが行うことと関連していると思います。本当にありがとう!

フォームコード:

<%= form_tag groups_path, method: :get, id: "search_groups" do %>
    Find a Group: <%= text_field_tag :groups_query, params[:groups_query] %>
<% end %>

更新:答えを見つけて、それは私が思ったことを確認しました

4

1 に答える 1

0

私の答えを見つけて、エンターキーがタイマーを「スピードアップ」すると私が思ったことを確認しました。

タイプウォッチのソースコードから:

if (evt.keyCode == 13 && (this.type.toUpperCase() == "TEXT" || this.type.toUpperCase() == "PASSWORD")) {
timerWait = 1;
overrideBool = true;
}

keyCode#13はエンターキーです

于 2012-07-26T22:53:38.930 に答える