我在一个页面上有一系列表单。我正在尝试获取正在提交的特定表单的ID,并使用该确切的值作为div的名称以插入一些html。 div已存在该名称。
以下是代码:
$(function () {
$('.allforms').submit(function (ev) {
Var myID = $(obj).attr("id");
esv.preventDefault();
$.ajax({
url: "/update",
data: $(this).serialize(),
dataType: "html",
success: function (data) {
$(myID).html(data);
}
});
});
});
当我给div命名相同时,数据正确返回但只显示在第一个div中,所以我知道服务器端正在工作。我刚刚开始使用Jquery。
答案 0 :(得分:0)
改变这些:
Var myID = $(obj).attr("id"); // 'var' keyword should be lowercase
esv.preventDefault(); // you are passing event object as `ev` not `esv`
为:
var myID = $(this).attr("id"); // 'this' refers to the current form
ev.preventDefault();
答案 1 :(得分:0)
var myID = $(this).attr("id");
这将返回表单的ID
答案 2 :(得分:0)
使用
$(function () {
$('.allforms').submit(function (ev) {
Var myID = this.id; // this refers to the form, and id is a droperty of the element so you can access it directly..
ev.preventDefault(); // esv -> ev as that is the name you use as the parameter
$.ajax({
url: "/update",
data: $(this).serialize(),
dataType: "html",
success: function (data) {
$('#' + myID).html(data);
}
});
});
});