我有这样的ajax调用:
$('.register a').click(register);
注册功能:
function register(e){
e.preventDefault();
var params = $('.register').serialize();
Api.callApi(
"/api/authkey/create_user",
params,
//success!
function(response){
settooltip(response.msg[0])
// GA
_gaq.push(['_trackPageview', '/registered']);
_gaq.push(['_trackEvent', 'register', 'public']);
},
//error
function(response){
settooltip(response.msg[0])
}
);
}
有时 ajax 会以错误响应。我尝试在有错误的字段旁边显示这些箭头(这就是 settooltipc–function 所做的)。但是,api 只响应有错误的字段的名称,有时,同名的字段多于一个。这意味着我不知道应该将错误消息应用到哪个字段。
我如何解决这个问题的想法是为最新提交的表单设置一个 ID。但是,我想在注册函数中执行此操作。如果有人实际单击 .register a,我可以使用“this”,但如果他们使用 enter,则“this”包含窗口元素。这是一个好方法吗?在那种情况下,我怎么知道正在提交什么表格?