2012-01-08 7 views
1

私はレール3.1.3とjquery.form.jsバージョン2.9.4とjquery 1.7.1を使用しています。 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; 
}); 

とするとき、私は放火犯コンソールに次のエラーメッセージ取得形式提出するボタンをクリックしてください:

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

私はここで間違っていますか?

答えて

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; 
    }); 
}); 
2

私は、この機能を使用したことがないが、あなたの構文は、ドキュメントに従って正しいよう:http://jquery.malsup.com/form/#ajaxSubmit

あなたのコードをすべて見ることなく、あなたはjQueryプラグインをリンクしていないか、$(document).ready(function() { //code });にコードをラップしていないと思います。

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

すぐに警告に入れてください。var options。それは出力されますか?

+0

+ 1プラグインが正しくリンクされていないか、コードがロードされる前に実行されているように聞こえます。 –

+0

OP: "jquery.form.jsにいくつかのコンソール印刷ステートメントを入れました。そのため、(firebugコンソールに)ロードされていることがわかります。だから問題は含まれていないようです。 – glortho

0

jQueryは他のjsファイルと競合している必要があります。hereの助けを借りて$jQueryに置き換えてコードを助けてください。あなたはそれが動作します

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

jQueryのlibの後、他のlibファイルを追加する必要がありますので

5

これは新しい機能です..私はテストしている ... が、それはあなたのために働くことを願っています。..

関連する問題