1

私のページには、ボタンがクリックされたときにいくつかのコントロールを含む div を表示する jQuery があります。もともとdivは隠されています。

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

1 に答える 1

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>

これらは、必要な検証属性を実装します。

編集:おっと、必要に応じて検証を呼び出すためにモデルに必要な属性があると仮定しています

于 2013-03-13T12:11:58.623 に答える