jquery - 在 jQuery 中设置的编辑器值未传递给控制器
问题描述
正如标题所示,我正在使用 jQuery 设置字段的值,但在提交时,该值不会传递给我的控制器。
我做了什么
部分视图
<div class="controls controls col-md-10">
@Html.EditorFor(model => model.itemValue, new { htmlAttributes = new { @class = "form-control", @onChange = "calRealAmt()" } })
</div>
...
<div class="control-group">
<label class="control-label col-md-6">Amount</label>
<div class="controls col-md-10">
@if (String.Equals((string)ViewBag.fixedAmount, "Y"))
{
//disale the amount field
@Html.EditorFor(model => model.amount, new { htmlAttributes = new { @class = "form-control", disabled = "disabled" } })
@Html.HiddenFor(model => model.amount)
}
else
{
@Html.EditorFor(model => model.amount, new { htmlAttributes = new { @class = "form-control spinner" } }) }
@Html.ValidationMessageFor(model => model.amount, "", new { @class = "text-danger" })
</div>
</div>
jQuery
<script type="text/javascript">
function calRealAmt() {
var itemValue = $("#itemValue").val();
var ivDiv;
var Ans;
var calPer = $("#calPer").val();
ivDiv = calPer / 100;
Ans = itemValue * ivDiv;
$("#amount").attr('value', Ans);
}
如您所见,这只是一些简单的 jquery 来计算百分比并将其设置为金额字段。视觉上设置了值,当我右键单击并检查时,那里的值也是正确的,但是当我提交表单时,控制器中的数量变量为 0。(PS,如果我输入一个数字,它也可以正常提交。)
希望是否可以帮助我解决此问题,我知道使用 ajax 提交,但这似乎有点过头了,我很感兴趣为什么即使设置了值也没有提交。 控制器
public ActionResult Addpayment([Bind(Include = "perDescrip,itemValue,cartId_FK,documentNbr,paymentTypeId_FK,amount,r1Value,r2Value,r3Value,r4Value,r5Value")] Transaction trans)
{
问候
解决方案
推荐阅读
- javascript - 第三方服务不填写角反应形式值
- sql - 对于每个键,检查一个 json 值是否在另一个 JSON 的 json 值中
- jmeter - 501 方法未实现 - URLDecoder:转义 (%) 模式中的非法十六进制字符 - 对于输入字符串:“u2”
- python - 如何在 python 脚本中调用 sed 命令?
- powershell - AppXPackage 数据的位置?
- python - txt 文件的索引行
- python - 如何在python中匀称地计算重心?
- excel - Excel VBA:输入特定密码后删除行
- networking - 计算 TCP 标头长度?
- wordpress - 使用 WP_Query 对数值进行排序