javascript - Javascript确认表单提交MVC

标签 javascript c# html asp.net-mvc

我尝试调用 java 脚本确认表单提交,但它跳过了它。它直接调用 Controller ,即使我想首先运行 java 脚本进行确认。 我不知道我做错了什么。对于 JV 脚本来说还是新手。

HTML

@model WMS_Web.Models.FileMaintenance.PrincipalModels
@section Scripts {
    @Scripts.Render("~/Script/FileMaintenance/CommonFunction.js")
}
@{
    ViewBag.Title = "PrincipalModel";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Principal</h2>

@using (Html.BeginForm("Create","Principal",FormMethod.Post)) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">

        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">
            @Html.LabelFor(model => model.CompanyId, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.CompanyId, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.CompanyId, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <button onclick='functionConfirm("Do you like Football?", function yes() {
         alert("Yes")
      },
      function no() {
         alert("no")
      });'>XXX</button>


            </div>
        </div>
    </div>
}

<div>
    @Html.ActionLink("Back", "ViewPrincipal")
</div>

Java 脚本

function functionConfirm(msg, myYes, myNo) {
    var confirmBox = $("#confirm");
    confirmBox.find(".message").text(msg);
    confirmBox.find(".yes,.no").unbind().click(function () {
        confirmBox.hide();
    });
    confirmBox.find(".yes").click(myYes);
    confirmBox.find(".no").click(myNo);
    confirmBox.show();
}

最佳答案

你可以试试这个:

@using (Html.BeginForm("Create","Principal",FormMethod.Post)) 
{
   @Html.AntiForgeryToken()
   ...
   <input type="submit" name="name" value="Save" onclick="javascript: return SubmitForm();" />
} 

Javascript:

function SubmitForm() {
   var r = confirm("Are you sure you want to submit?");
    if (r == false) {
      return false;
    }
    // do something
    return true;       
}

关于javascript - Javascript确认表单提交MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52697693/

相关文章:

javascript - 如何循环并显示具有 onClick 的按钮并将不同的变量传递给另一个函数?

c# - 在这种情况下,我们是否应该开发自定义成员资格提供程序?

c# - FileResult + redirectToAction出现错误

javascript - 是否可以将登录信息从 webview 传递到 android Activity?

javascript - 如何模拟在使用 Jest 测试的 React 组件中进行的 API 调用

c# - 调用 UserControl 不起作用

javascript - 在范围 slider javascript 内切换大小写

html - 复选框复选标记在 IE (6-Edge) 中呈现怪异且复选框放错位置

javascript - 你能强制IE8识别背景大小: 100%?吗

javascript - 如何使用keyarrows在javascript中获取元素的焦点