ASP.Net MVC 4 在表单提交时设置“onsubmit”

2024-04-17

我有以下表格:

@Html.BeginForm("ActionMethod","Controller",FormMethod.Post)

提交后我想运行一个 Javascript 函数,所以我添加了以下内容:

@Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { onsubmit = "myJsFunction()" })

但是,它不起作用......我做错了什么?谢谢!


你需要这个:

@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { onsubmit = "return myJsFunction()" }))
{
        //form
}

注意using这使得表单自动关闭,无需使用您需要关闭它,如此详细信息MSDN 文章 https://msdn.microsoft.com/en-gb/library/dd410596(v=vs.100).aspx.

您可以确认是否调用了 javascript 以隔离问题:

@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { onsubmit = "alert('test')" }))
{
        <input type="submit" value="test" />
}

这应该会弹出一个警报。

如果第一个失败而第二个有效,则说明您的 js 脚本引用存在问题。这会在您的浏览器控制台中引发错误。

Update

如果您为表单提供一个 Id,则可以使用以下 jquery 代替,而不是强制绑定表单(jQuery 参考 http://api.jquery.com/submit/):

@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { id = "target"}))
{
        //form
}

<script>
    $(function () {
        $("#target").submit(function (event) {
            event.preventDefault();
            myJsFunction();
        });
    });
</script>

当文档是表单时,这将绑定ready http://api.jquery.com/ready/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.Net MVC 4 在表单提交时设置“onsubmit” 的相关文章

随机推荐