2

我正在使用 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

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 文件冲突,您可以从这里找到一些帮助,在代码中替换$byjQuery可能会有所帮助。

于 2013-07-12T11:05:31.843 回答