ASP.Net MVC 4 在表单提交时设置 'onsubmit'
ASP.Net MVC 4 Set 'onsubmit' on form submission
我有以下表格:
@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 article.[=17 中所述=]
您可以确认调用 javascript 以隔离问题:
@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { onsubmit = "alert('test')" }))
{
<input type="submit" value="test" />
}
这应该弹出一个警告。
如果第一个失败而第二个成功,则说明您的js脚本引用有问题。这会在您的浏览器控制台中引发错误。
更新
如果你给你的表单一个ID,你可以使用下面的jquery而不是强制绑定你的表单(jQuery reference):
@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { id = "target"}))
{
//form
}
<script>
$(function () {
$("#target").submit(function (event) {
event.preventDefault();
myJsFunction();
});
});
</script>
当文档为ready.
时,这将在表单时绑定
我有以下表格:
@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 article.[=17 中所述=]
您可以确认调用 javascript 以隔离问题:
@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { onsubmit = "alert('test')" }))
{
<input type="submit" value="test" />
}
这应该弹出一个警告。
如果第一个失败而第二个成功,则说明您的js脚本引用有问题。这会在您的浏览器控制台中引发错误。
更新
如果你给你的表单一个ID,你可以使用下面的jquery而不是强制绑定你的表单(jQuery reference):
@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post, new { id = "target"}))
{
//form
}
<script>
$(function () {
$("#target").submit(function (event) {
event.preventDefault();
myJsFunction();
});
});
</script>
当文档为ready.
时,这将在表单时绑定