我正在使用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不是函数
我在这里做错了什么?
答案 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
可能会有所帮助。