我无法理解控制台正在记录什么样的对象,以及如何识别 HTML 对象。
这是我的场景:
一、形式:
!注意:输出的 Id<form></form>
被覆盖new {id="ABCDEF"}
@using (Ajax.BeginForm("Add", "Home", new AjaxOptions { HttpMethod = "POST", OnSuccess="doWork(this)"}, new {id="ABCDEF"}))
{
<div id="popup-container">
<-- Some Data to post -->
<input type="submit" value="Save"/>
</div>
}
2.脚本
<script>
function doWork(e){
console.log(e); // Log 'e' parameter, passed upper, as 'this' inside OnSuccess='doWork(this)'
}
</script>
3.控制台输出
Object {
url: "http://localhost:13350/Home/Add?Length=6",
isLocal: false,
global: true,
type: "POST",
contentType: "application/x-www-form-urlencoded;
charset=UTF-8"…
}
4.一些观察:
e
变量的类型为 [Object]对象- 在 的输出中
console.log(e)
,我可以找到传递给Ajax.BeginForm()
helper 的所有参数。eg:生成的URL;动作类型,甚至是 id - 如果深入挖掘 [Object] 的属性。
5.一些问题:
1.这是什么物体?如何访问生成的 HTML <form></form>
?
2.如何通过函数内部的参数严格获取记录对象的id
(其值必须是) ?例如:ABCDEF
e
doWork(e)
jQuery(e).attr("id")
谢谢!
更新 1 - 表单的 HTML 开头
<form action="/Home/Add" data-ajax="true" data-ajax-method="POST" data-ajax-success="doWork(this)" id="ABCDEF" method="post">
解决方案:
如果有人感兴趣,请查看 Daniel 的 JG 帖子,他给出了完整的答案。