gpt4 book ai didi

c# - Ajax.BeginForm(), OnSuccess - 获取事件目标

转载 作者:太空狗 更新时间:2023-10-29 21:44:58 24 4
gpt4 key购买 nike

我无法获取在 Ajax.BeginForm() 中触发 OnSuccess() 方法的元素的目标。所以这里是代码片段:

@using (Ajax.BeginForm("InsertModel", "Home", new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "doWork(this,'SomeCustomText')"
}))
{
<div id="container">
<--Some HTML--!>
<input type="submit" value="OK"/>
</div>
}

<script>
function doWork(e,customText)
{
alert(customText); //It shows 'SomeCustomText', so its good.

alert(e); //[Object] object
alert(e.prop("tagName")); //Object #<Object> has no method 'prop'
alert(e.attr("tagName")); //Object #<Object> has no method 'attr'
alert(jQuery(e).html()); //undefined
alert(jQuery(e).prop("tagName")); //undefined
alert(e.target); //undefined
alert(jQuery(e).target); //undefined
}
<script/>

问题:

How to get target?! Thank you

更新1

jQuery 版本应该是这样的:

jQuery.ajax({
url:"/Home/InsertModel",
data:"some post data",
type:"POST",
success:function(data){
doWork(this,data); // so i really do not care about data! I just need jQuery(this)
}
})

最佳答案

如果您想访问表单元素,您有很多选择,如果您在页面上只有一个表单,您可以执行 $("form") 并且 jquery 将为您提供表单元素。

另一种选择是更改 Ajax.BeginForm 构造函数,它将表单 id 作为参数,如下所示:

@using (Ajax.BeginForm("InsertModel", "Home",null, new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "doWork('SomeCustomText')"
}, new {id = "myFormId"}))
{
<div id="container">
<--Some HTML--!>
<input type="submit" value="OK"/>
</div>
}

在 javascript 中

<script>
function doWork(customText)
{
alert(customText); //It shows 'SomeCustomText', so its good.

// find the form by id
$("#myForm1");

// find forms in the page
$("form")


}
<script/>

在普通的 JQuery 中:

$.ajax({
url:"/Home/InsertModel",
data:"some post data",
type:"POST",
success:function(data){
// find the form by id
$("#myForm1");

// find forms in the page
$("form")

...
}
});

关于c# - Ajax.BeginForm(), OnSuccess - 获取事件目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19691810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com