根据刚刚输入 BEFORE 表单提交的值更改ASP .NET MVC表单中文本字段颜色的最简单方法是什么。
要使用的颜色由数据库查询返回。
例如:
如果在字段中输入的数字低于在数据库中为项目注册的数量,则查询返回红色。
由于
答案 0 :(得分:1)
你可以像下面的例子一样使用jQuery:
//bind a function to the blur even of the text field
$("#the-imput-control").blur(function () {
var value = this.val();
//send the value to the server and then process the result.
$.getJSON("yourUrl", { key: value }, function(data) {
//return a json object with a property "color"
//and use its value to set the text field's color
$("#the-imput-control").css("color", data.color);
});
//you can of course use another ajax function depending on your needs.
});
答案 1 :(得分:0)
您希望在提交按钮或更改数量时触发事件以检索产品数量。
您也可以在开头加载颜色,但在用户输入时库存可能会发生变化。
例如
据我所知,如果db中的金额低于订购金额,你就不会有回发....但考虑到用户可能没有打开javascript,你也应该在服务器端实现。
就我个人而言,我只是在服务器端进行,因为在客户端只是一个你不能依赖的额外功能。
答案 2 :(得分:0)
如果没有任何安全风险,最好缓存产品的可用数量,而不是去服务器进行验证。这样,UI将更具响应性 - 用户体验将更好。所以,基本上,
// JS
var availableQuantities = [10, 15, 30];
$(".the-imput-control").blur(function () {
var value = $(this).val();
var productIndex = $(this).parent().children().index(this); // sort of
$(this).toggleClass('invalid', (availableQuantities[productIndex] < value));
});
// CSS
.invalid { color: red; }