これは非常に不可解で、ここにどのコードを投稿すればよいかさえわかりません。しかし、問題は非常に単純です。いくつかの価格計算を行っている JQuery モーダル ダイアログにフォームがあります。中でも、フィールド割引があります。次のように表示されます。
<div class="editor-label">
@Html.LabelFor(model => model.Discount)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Discount, new { size = 10 })
</div>
Firebug デバッガーの [DOM] タブで、このフィールドの値が 20 になっていることがわかります。もちろん、フォームにも表示されます。しかし、呼び出し:
$('#Discount').val()
空の文字列を返します。そして、これはこの問題を抱えている唯一のフィールドです。他のフィールドに対して val() を呼び出すと、正しい値が返されます。送信をクリックして、送信されたモデルの MVC アクションをデバッグしても、Discount の値がそこにあることがわかります。空の文字列を返すのは、このフィールドのみの JQuery 関数です。
ちょっと抽象的な質問だとは思いますが、このような経験をしたことのある方はいらっしゃいませんか?
ありがとうございました
生成された HTML:
<div class="editor-label">
<label for="Discount">Popust (%)</label>
</div>
<div class="editor-field">
<input id="Discount" class="text-box single-line valid" type="text" value="0" name="Discount" data-val-range-min="0" data-val-range-max="100" data-val-range="Vredonst mora biti izmedju 0 i 100" data-val-number="Polje Popust (%) mora biti broj" data-val="true" size="10">
</div>
この要素の Firebug の DOM タブには、値「20」が表示されますが、