今天在开发中遇到了在JS中修改MVC3表单控件值的一个问题,表单控件如下
@Html.TextBoxFor(m => m.LeftTop.Logitude, new { @id = "txtLeftLon", @style = "width:175px;", @class = "easyui-numberbox", @required = "true", @validType = "minNumber", precision = "6", @maxlength = "10" })
在JS中修改该控件的值代码:
var leftLon = 10;
("#txtLeftLon").val(leftLon);
执行该段JS代码后,页面文本框的值是发生了变化,但点击按钮提交表单,后台获取的该文本框值却是没有变化,还是为修改之前的值。
产生改问题的原因,应该是对文本框进行了数据验证,将数据验证格式删除之后
@Html.TextBoxFor(m => m.LeftTop.Logitude, new { @id = "txtLeftLon", @style = "width:175px;" })
再执行JS代码,提交表单,更改成功,虽然问题已经解决,但具体原理却不是很清楚,为什么加了数据验证,后台获取不到修改后的文本框值
浙公网安备 33010602011771号