0

ASP MVC3 ビューで多数のフィールドを検証する必要があり、そのために jQuery を使用しようとしています。jQuery.val()メソッドは、入力フィールドからaccountNumberrefNumber、およびを正常に取得しますが、フィールドの値は常に何に関係なく になります。ownerMasteragentId""

コードのタイプミスを何度も探しましたが、見つかりませんでした。別の目のセットがうまくいくことを願っています。

参考までに-以下の.val()onを hide メソッドに変更すると、フィールドが消えます。つまり、セレクターが正しく入力されていることを意味します。$('#AgentId').val().hide()

jQuery

function ValidateFields(transactionType) {
    var msg = "";
    var refNumber = $('#RefNumber').val();
    var ownerMaster = $('#OwnerMasterAgentId').val();
    var accountNumber = $('#AccountNumber').val();
    var agentId = $('#AgentId').val(); //When the agentId variable an selector + val() are
                                       //evaluated here both have a value of ""

ASP MVC 剃刀

                <div class="M-editor-label">
                    @Html.LabelFor(model => model.RefNumber)
                    <span class="alwaysReq"> @Html.Raw("*")</span>
                </div>
                <div class="M-editor-field">
                    @Html.TextBoxFor(model => model.RefNumber, new { maxlength = 9, @class = "staticData" })
                </div>
                <div class="M-editor-label">
                    @Html.LabelFor(model => model.OwnerMasterAgentId)
                    <span class="req">@Html.Raw("*")</span> 
                </div>
                <div class="M-editor-field">
                    @Html.TextBoxFor(model => model.OwnerMasterAgentId, new { maxlength = 8, @class="staticData" })
                </div>
                    <div class="M-editor-label">
                        @Html.LabelFor(model => model.AccountNumber)
                        <span class="req">@Html.Raw("*")</span>
                    </div>
                    <div class="M-editor-field">
                        @Html.TextBoxFor(model => model.AccountNumber, new { maxlength = 17 })
                    </div>
                    <div class="M-editor-label">
                        @Html.LabelFor(model => model.AgentId)
                        <span class="req">@Html.Raw("*")</span>
                    </div>
                    <div class="M-editor-field">
                        @Html.TextBoxFor(model => model.AgentId, new { maxlength = 8 })
                    </div>

HTML

                <div class="M-editor-label">
                    <label for="RefNumber">Reference Number</label>
                    <span class="alwaysReq" style="display: inline;"> *</span>
                </div>
                <div class="M-editor-field">
                    <input class="staticData" id="RefNumber" maxlength="9" name="RefNumber" type="text" value="">
                </div>
                <div class="M-editor-label">
                    <label for="OwnerMasterAgentId">Owner Master Agent Id</label>
                    <span class="req" style="display: inline;">*</span> 
                </div>
                <div class="M-editor-field">
                    <input class="staticData" id="OwnerMasterAgentId" maxlength="8" name="OwnerMasterAgentId" type="text" value="">
                </div
                    <div class="M-editor-label">
                        <label for="AccountNumber">Account Number</label>
                        <span class="req" style="display: inline;">*</span>
                    </div>
                    <div class="M-editor-field">
                        <input id="AccountNumber" maxlength="17" name="AccountNumber" type="text" value="">
                    </div>
                    <div class="M-validator-field">
                        <span class="field-validation-valid" data-valmsg-for="AccountNumber" data-valmsg-replace="true" style="display: none;"></span>
                    </div>
                    <div class="M-editor-label">
                        <label for="AgentId">Agent ID</label>
                        <span class="req" style="display: inline;">*</span>
                    </div>
                    <div class="M-editor-field">
                        <input id="AgentId" maxlength="8" name="AgentId" type="text" value="">
                    </div>
4

2 に答える 2

0

問題はわかりませんが、

  1. しかし、あなたのページに id=AgentId を持つ別の html 要素はありますか?
  2. フィールドのテキストを変更すると、firebug で変更されますか

実際には、独自の検証を作成する必要はありません。サーバー側とクライアント側の検証を提供するデータ注釈検証を使用できます。

于 2013-08-20T22:43:39.477 に答える