Java 脚本确认表单提交 MVC



我试图调用java脚本确认表单提交,但它跳过了它。它直接调用控制器,即使我想先运行 java 脚本进行确认。 我不知道我做错了什么。对合资脚本来说仍然是新手。

.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>

爪哇脚本

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;       
}

最新更新