2012-01-08 51 views
1

我正在使用rails 3.1.3,以及jquery.form.js 2.9.4版和jQuery 1.7.1。 我在jquery.form.js中放了一些控制台打印语句,所以我可以看到(在萤火虫控制台中)它已加载。

我建立了我的形式是这样的:

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控制台以下错误消息的形式:

$(本) .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听起来像是插件未正确链接,或者代码在加载之前正在执行。 – 2012-01-08 21:57:31

+0

OP:“我在jquery.form.js中放置了一些控制台打印语句,所以我可以看到(在萤火虫控制台中)它已加载。”所以这个问题似乎并不包含在内。 – glortho 2012-01-08 22:51:51

0

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

5

这是新的功能,让你拥有jQuery的LIB

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

它会工作后添加其他库文件.. 我已经测试.. 希望它会为你工作..