我的页面上有一些jQuery,当点击一个按钮时会显示带有一些控件的div。 最初div是隐藏的。
我在web.config中设置了ClientValidationEnabled = true。 如果我单击show按钮,带有控件的div显示,但如果我填写一些数据,然后单击提交按钮,而不是启动客户端验证,页面将重新加载,我又回到了开始状态,我的div被隐藏了。
导致这种情况的原因是什么?
以下是我的观点......
<script type="text/javascript" src="~/Scripts/jquery-1.7.1.min.js"></script>
<h2>cardiac</h2>
<br>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>cardiac</legend>
<div id ="confirmdiv" class="notificationdiv" align="center">
Please check sample type, this screen is only for <b>Cardiac</b> results and <b>NOT</b> Liquid Cardiac.
<br />
<input type ="button" id ="buttonConfirm" value ="Confirm"/>
<input type ="button" id ="buttonBack" value ="Back"/>
</div>
<div id ="formdiv" style="display:none;">
<br>
Please fill in your results...
<br/>
@Html.Partial("_CreateOrEdit", Model)
<input type="submit" value="Submit" />
</div>
</fieldset>
}
<script type="text/javascript">
$(document).ready(function () {
$("#buttonConfirm").click(function () {
$("#confirmdiv").hide();
$("#formdiv").show();
});
});
</script>
答案 0 :(得分:4)
看起来你包括jQuery,但不包括其他必需的脚本。
尝试添加
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
这些将实现所需的验证属性。
编辑:oops我假设你的模型有必要的属性来根据需要调用验证