即使javascript验证失败,MVC4表单仍在提交
出于某种原因,即使java脚本验证失败,我的MVC4表单仍在提交。请在我的视图中查看下面的代码。我确实看到javascript警报,但表单正在提交到服务器即使javascript验证失败,MVC4表单仍在提交,javascript,asp.net-mvc,asp.net-mvc-4,Javascript,Asp.net Mvc,Asp.net Mvc 4,出于某种原因,即使java脚本验证失败,我的MVC4表单仍在提交。请在我的视图中查看下面的代码。我确实看到javascript警报,但表单正在提交到服务器 @model DataAccess.Question 你知道我遗漏了什么吗 @model DataAccess.Question @model DataAccess.Question @使用(Html.BeginForm(“Index”,“Question”,new{QuestionId=Model.QuestionId}))
@model DataAccess.Question
你知道我遗漏了什么吗
@model DataAccess.Question
@model DataAccess.Question
@使用(Html.BeginForm(“Index”,“Question”,new{QuestionId=Model.QuestionId}))
{
调查
请选择
问题:
@模型.问题ID
@model DataAccess.Question
说明:
@型号.说明
@model DataAccess.Question
@foreach(Model.Answers中的var项)
{
- @Html.RadioButton(“ChoiceList”,item.score)@item.AnswerDesc
}
}
@model DataAccess.Question
函数getCheckedRadioButton(){
var radio=document.getElementsByName(“ChoiceList”);
对于(var i=0;i
我还检查了我的web.config,以下键是正确的
@model DataAccess.Question
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
我遇到了类似的问题,解决了向表单元素添加属性的问题。试试这个
@model DataAccess.Question
Html.BeginForm(new { onsubmit = "return getCheckedRadioButton();" })
与你的其他属性
@model DataAccess.Question
Html.BeginForm("Index", "Question", new { QuestionId = Model.QuestionId}, FormMethod.POST, new { onsubmit="return getCheckedRadioButton();"})
通过这种方式,表单应该使用这个新属性呈现
@model DataAccess.Question
请参阅文档将
getCheckedRadioButton()
放在提交按钮上不会触发表单验证。将getCheckedRadioButton()
放在表单元素上
@model DataAccess.Question
@using (Html.BeginForm("Index", "Question", new { QuestionId = Model.QuestionId, onclick="getCheckedRadioButton()" }))
或
@model DataAccess.Question
$('form')。提交(函数(){
var radio=document.getElementsByName(“ChoiceList”);
对于(var i=0;i
我尝试了以下方法,但在@using(Html.BeginForm(“Index”,“Question”,new{onsubmit=“return getCheckedRadioButton();”,QuestionId=Model.QuestionId})下无效@Learner请尝试我的更新答案,并让我知道。(第二次更新…立即尝试)您是否尝试了我更新的代码?你的表格还没用吗?