我有一个用于提交表单的ajax请求。
$('#position'+i).change(function () {
var data = $(this).attr('value');
var form = $('#pages_form');
$.ajax({
type: "POST",
url: form.attr('action'),
data: data,
succes: alert('Postion has been saved')
});
});
似乎想要去网址天气我硬编码或使用表单操作属性。我需要做些什么来提交表格。
它很奇怪,因为如果我点击输入它将提交表单,但它将绕过ajax请求。
答案 0 :(得分:1)
var form = $('pages_form');
这很糟糕,这是什么样的选择器,据我所知,没有pages_from标签。 它应该是
var form = $('#pages_form');
如果是其身份。
如果上课那么
var form = $('.pages_form');
答案 1 :(得分:0)
这不是回叫的工作方式,也是你拼错的成功。您将函数名称或匿名函数传递给success方法。
工作版:
$('#position'+i).change(function () {
var data = $(this).attr('value');
var form = $('#pages_form'); // Is this an id?
$.ajax({
type: "POST",
url: form.attr('action'),
data: data,
success: function () {
alert('Postion has been saved');
}
});
});
答案 2 :(得分:0)
您的问题很可能在于您用来获取表单的选择器:
var form = $('pages_form');
没有 html标记,名称为pages_form
;)
另外,你指定回调的方式显然是错误的。
答案 3 :(得分:0)
一些更正:
var form = $('pages_form');
不是指有效元素。如果'pages_form'是表单的ID,那么您需要使用:
var form = $('#pages_form');
另外,你拼写错误的'成功',它没有所需的格式。将该行更改为
success: function() {alert('Postion has been saved');}
我认为在修复后你的代码应该可行。 :)
好的,然后需要进行一些验证,尽管它们看起来很明显。