[asp.net-mvc]ASP.Net MVC 4 设置 'onsubmit' 对表单提交

发布时间: 2017/3/25 1:40:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有以下形式︰

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

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

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

但是,它不起作用...我到底做错了?谢谢你 !

解决方法 1:

你需要这个相反︰

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

通知 using 这使得自我关闭,而无需使用你需要关闭它作为MSDN 文章详细的形式。

您可以确认 javascript 调用与此来解决此问题︰

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

这应该弹出警报。

如果第一个失败,第二个作品,还有一个问题与你的 js 脚本引用。这将提高您的浏览器控制台中的错误。

更新

而不是冒冒失失地绑定您的窗体,如果你给您的窗体 Id 你可以改用下面的 jquery (jQuery 参考)︰

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

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

这会将绑定时窗体文档时都准备好了

官方微信
官方QQ群
31647020