0

asp.netmvc3ページに問題があります。特定のモデルのアイテムを作成するためのフォームを含むビューがあります。これが好きに見えます:

@model testPro.Models.AddItemModel
@{
    ViewBag.Title = "New";
}
@*<h2>New</h2>*@

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>New Item</legend>

                <div class="editor-label">
                    @Html.LabelFor(model => model.UserItem.name)
                </div>
                <div class="editor-field">
                    @Html.EditorFor(model => model.UserItem.name)
                    @Html.ValidationMessageFor(model => model.UserItem.name)
                </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}
<div>
    @Html.ActionLink("Back to List", "Index")
</div>

<script>
    $(document).ready(function () {

        alert("test");
        $("#UserItem_Name").html("bla");
        $("#UserItem_Name").attr('disabled');
    });
</script>

最後に、テキストボックスを変更する必要があるjqueryのものがあります。

問題は、何も変わっておらず、理由がわからないことです

はい:ヘッダーにjqueryが含まれています。

4

1 に答える 1

1

試す:

<script type="text/javascript">
    $("#UserItem_name").val('bla');
    $("#UserItem_name").attr('disabled', 'disabled');
</script>

注意事項:

  • テキストボックスIDはですがUserItem_nameUserItem_Nameこれは明らかに同じものではありません
  • .val()代わりにフォーム入力フィールドの値を設定するために使用します.html()
  • 属性値を設定する場合、この.attr()メソッドは2つの引数を取ります。1)属性名と2)属性値です。現在、渡しているパラメータは1つだけなので、基本的には属性値を読み取り、設定はしていません。

また、このコードがAJAXリクエストの後にDOMに挿入した部分ビュー内にある場合は、$(document).readyハンドラーを削除する必要があります。

于 2012-07-05T09:20:29.107 に答える