【问题标题】:Ajax call on form submission - MVC 5表单提交的 Ajax 调用 - MVC 5
【发布时间】:2015-05-03 14:53:29
【问题描述】:

目标:

如果用户提供了正确的信息,则使用 ajax 调用从数据库中返回信息,或者如果用户是新用户,那么它将返回 redirectToAction 并将用户发送到另一个表单。我想使用欧芹或引导验证器来完成所有这些工作(我想使用这些工具,以便我可以将验证器放入输入中,一旦我点击提交,它将验证表单,但不会提交。我也希望它具有相同的外观,因此字段突出显示类似于http://1000hz.github.io/bootstrap-validator/ ajax 调用将处理决定)

问题: 这是一个类似的表格:

<form action="" id="application">
First Name: <input type="text" name="first" required/>
Last Name: <input type="text" name="last" required/>

<button type="submit">Submit</button>
</form>

当点击此表单时,如果用户没有提供名字和姓氏,它将不会提交表单。

我希望它做的是,如果用户提供了此信息,它将不会执行该操作,而是执行 ajax 调用,并且永远不会通过按下按钮提交表单,类似于$(button).click(function (){//do stuff});(ajax 调用将处理提交,我的猜测是我们可以用这个 ajax 调用替换任何 JavaScript 函数)。

最后: 我已阅读有关 e.preventdefault 的信息,但它似乎对我不起作用。如何让表单验证输入但从未实际提交(除非 ajax 允许)。你能给我一个例子来说明我会如何做到这一点吗?或者这是不能做的事情?我应该做类似Validate Form preventing form submission

【问题讨论】:

    标签: javascript jquery ajax forms twitter-bootstrap


    【解决方案1】:

    在表单上添加onsubmit事件,例如,

    <form onsubmit = "DoSubmit(this);return false;">
    

    DoSubmit: function()
    {
    //validate the form and decide submit or not
        if($(form).valid())
       {//if form valid, this is done by form validation itself
          $(form)[0].submit();
        }
       else
       {
         //do nothing or do whatever
       }
    }
    

    【讨论】:

    • 工作完美,我没有使用 DoSubmit,我只是调用了 javascript
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多