javascript - 是否可以将事件传递给 Ajax 表单的 OnBegin 函数?

标签 javascript jquery asp.net-mvc forms ajax.beginform

我的应用程序中有一个 Ajax 表单。我想将事件传递给 OnBegin 函数,然后使用 event.preventdefault() 这将阻止表单提交然后在检查一些条件时,我尝试手动提交表单。但它不起作用,我无法弄清楚为什么。

Ajax.BeginFrom:

   @using (Ajax.BeginForm("Update", "Project", false, new AjaxOptions { InsertionMode = InsertionMode.Replace,
                                                                         HttpMethod = "Post",
                                                                         OnBegin = "return OnBeginForm(event);",
                                                                         OnSuccess = "OnSuccessArtwork(data);", 
                                                                         OnFailure = "OnFailureArtwork(data);" }, 
                                                                         new { id = "Ajax_form" }))
{
   // Here I have all the form elements //
  <input type="submit" id="btnUpdate" class="btn02 pull-left" value="Update"/> 
}

OnBegin 函数:

function OnBeginForm(e) {
   e.preventDefault();
   if(some condition){
     $('#Ajax_form').submit();
   }
   else{
     return false;
   }
}

最佳答案

event.preventdefault() which will stop the form from submitting

您还可以使用return false;停止表单提交,它基本上起到event.preventdefault()的作用。 检查this .

下面的脚本应该适合您:

function OnBeginForm() {

    if (some condition) {
      return false;
    }

}

希望有帮助:)

Reference

关于javascript - 是否可以将事件传递给 Ajax 表单的 OnBegin 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742804/

相关文章:

javascript - 在 dojo 内部调用对象方法

javascript - 基本 Jquery - 如果 TD 中存在文本,则使 DIV 可见

jQuery - 有没有办法重用参数来减少代码重复?

asp.net-mvc - 如何在 Razor 中强制执行代码块

javascript - 刷新 Node.js 页面

javascript - 每个 ip/24hs 显示一次 div 在 chrome 中不起作用

javascript - 使用 jQuery 将参数从 MVC View 传递到操作

c# - WebApi - 具有相同签名的多个 GET 操作 - 路由问题

javascript - 如何打印div中所选项目的文本

javascript - 带有 href 属性的单击链接上的 JQuery