1

テキストボックスと送信ボタンがあります。ページロード時にボタンをグレー表示 (無効) にしたいのですが、ユーザーがテキストボックスでテキストを追加するかテキストを削除するかを変更すると、ボタンが有効になり、保存されるとボタンが再び無効になります。

<h3>Username</h3>
   @Html.TextBoxFor(m=>m.username)

<button class="btn btn-small savebtn" type="submit" value="User Name">Save</button>

今私が抱えている問題は、このスクリプトをビューに正しく挿入する方法です。これは私の現在の見解です:

@model Project.Models.UsernameModel

@using (Html.BeginForm("_UsernamePartial", "Account")) {

   <h3>Username</h3>
   @Html.TextBoxFor(m=>m.Username)

<button class="btn btn-small savebtn" type="submit" value="User name">Save</button>

タグの後の下部に次のようなスクリプトを追加しますか?

@section scripts {
<script type="text/javascript">
    $(document).ready(function () {
        $(".savebtn").attr('disabled', 'disabled');

        $("#UserName").keyup(function () {
            $(".savebtn").removeAttr('disabled');
        });

        $(".savebtn").click(function () {
            $(this).attr('disabled', 'disabled');
        });
    });
</script>
4

1 に答える 1

2

私があなたの要件を正しく理解していれば、次のようなものが必要です。

$(document).ready(function () {
    //Disable Save Button On Page Load
    $(".savebtn").attr('disabled', 'disabled');

    //When User Name changes, enable Save Button
    $("#UserName").keyup(function() {
        $(".savebtn").removeAttr('disabled');
    });

    //Disable Save Button once clicked
    $(".savebtn").click(function() {
        $(this).attr('disabled', 'disabled');
    });
});

そして、これがサンプルのJS Fiddleです。

于 2013-02-19T02:01:16.980 に答える