0

ユーザーがフォームを送信する前に少し変更したいフォーム フィールドがあります。具体的には、これは場所フィールドであり、州の略語が追加されているかどうかを確認する必要があります。そうでない場合は、追加します。

私は blur() を監視しているので、ユーザーがフィールドからタブまたはクリックしたときを確認できます:

  $('#views-exposed-form-libraries-map-page-1 .form-item-field-geofield-distance-origin input').blur(function(){
// do stuff
});

` これは、ユーザーが入力から送信ボタンまたはタブをクリックしたときに正常に機能します。ただし、ユーザーが「Enter」または「Return」を押してフォームを送信すると、関数は実行されません。blur イベントがないためだと思います。

ユーザーが「Enter」または「Return」を押したときに、入力の値を取得して編集する他の方法はありますか?

4

3 に答える 3

4

そのようなフォーカスされた要素.submit()でそのトリガーを作成できます:.blur()

$('form').submit(function(){
     $(':focus').trigger('blur');
})
于 2013-09-21T19:36:20.807 に答える
1

コールバックを設定する.submit/代わりに、これは実際のフォームが送信される前に呼び出され、必要に応じて送信をキャンセルできます

$("#myForm").submit(function(e){
   //check/do stuff here before submit
   //use e.preventDefault() or return false to stop submission if needed.
});

JQuery .submit Doc

于 2013-09-21T19:30:41.477 に答える