2

Rails 3.1.3、jquery.form.jsバージョン2.9.4、jquery1.7.1を使用しています。いくつかのコンソールprintステートメントをjquery.form.jsに配置したので、(firebugコンソールで)ロードされたことがわかります。

そして、私はこのようにフォームを設定しました:

var options = {
  success: s.update_or_add_contact_response, type: 'post', 
  dataType: 'json',  url:  s.update_contact_path
};

$('form#new_user').submit(function() {
  $(this).ajaxSubmit(options);
  return false;
});

また、ボタンをクリックしてフォームを送信すると、firebugコンソールに次のエラーメッセージが表示されます。

$(this).ajaxSubmitは関数ではありません

私はここで何が間違っているのですか?

4

4 に答える 4

6

これは新しい機能なので、jQuery lib の後に別の lib ファイルを追加する必要があります

<script src="http://malsup.github.com/jquery.form.js"></script>

それは動作します..私はテストしました..それがあなたのために働くことを願っています..

于 2014-02-05T06:15:23.673 に答える
2

私はこの関数を使用したことがありませんが、http: //jquery.malsup.com/form/#ajaxSubmitのドキュメントによると、構文は正しいようです。

すべてのコードを見ないと、jQuery プラグインをリンクしていないか、コードを$( document ).ready( function( ) { //code } );そのようにラップしていないと推測できます。

ソース コードを見て、プラグインがリンクされていることを確認します。そこにいますか?

のすぐ上にアラートを配置しますvar options。出力しますか?

于 2012-01-08T21:00:53.493 に答える
0

たぶん、document.ready ラッパーがありませんか?

$(function() { // same as document.ready
    var options = {
      success: s.update_or_add_contact_response, type: 'post', 
      dataType: 'json',  url:  s.update_contact_path
    };

    $('form#new_user').submit(function() {
      $(this).ajaxSubmit(options);
      return false;
    });
});
于 2012-01-08T20:57:44.307 に答える
0

jQuery は他の js ファイルと競合しているに違いないと思います。ここからヘルプを見つけることができます。コード内のを置き換える$と役立つ場合があります。jQuery

于 2013-07-12T11:05:31.843 に答える