$(this).ajaxSubmit不是函数

时间:2012-01-08 20:50:45

标签: jquery forms jquery-forms-plugin

我正在使用rails 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;
});

当我点击按钮提交表单时,我在firebug控制台中收到以下错误消息:

$(this).ajaxSubmit不是函数

我在这里做错了什么?

4 个答案:

答案 0 :(得分:6)

这是新功能,所以你必须在jQuery lib之后添加其他lib文件

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

它会工作.. 我测试过.. 希望它对你有用..

答案 1 :(得分:2)

我从未使用过此功能,但根据以下文档提供的语法正确:http://jquery.malsup.com/form/#ajaxSubmit

如果没有看到你的所有代码,我猜你要么没有链接jQuery插件,要么你没有将代码包装在$( document ).ready( function( ) { //code } );中。

查看源代码并确保插件正在链接。它在吗?

var options之上加上提醒。它输出了吗?

答案 2 :(得分:0)

也许你错过了document.ready wrapper?

$(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;
    });
});

答案 3 :(得分:0)

我认为jQuery必须与其他js文件冲突,你可以从here找到一些帮助,在代码中用$替换jQuery可能会有所帮助。