2013-03-13 61 views
1

我的页面上有一些jQuery,当单击按钮时显示带有一些控件的div。 最初div是隐藏的。MVC - ClientValidationEnabled = true,但仍然有一个回发,毁了我的jQuery

我在我的web.config中设置了ClientValidationEnabled = true。 如果我点击显示按钮,带有控件的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> 

回答

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> 

这些将实施必要的验证特性。

编辑:哎呀,我假设你有你的模型上的必要属性,以根据需要调用验证

+0

感谢glosrob,完美的作品! – 2013-03-13 12:27:54

相关问题