首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php/javascript中设置来自数据库的最大输入文本

在php/javascript中设置来自数据库的最大输入文本
EN

Stack Overflow用户
提问于 2015-01-20 05:27:40
回答 3查看 1.9K关注 0票数 1

因此,我有一个输入文本,用于确定购物车中购买物品的数量。每个项目都有不同的最大采购量,最大采购数(max)是从mysql数据库中获得的。如果用户输入的项目数超过最大限制,则会出现警告。

购物图和金额:

数据库示例:

代码语言:javascript
复制
id_item | item          | brands    | max
- - - - - - - - - - - - - - - - - - - - - - -
1       | Baskom Sedang | Lion Star |2
2       | Pinset Anatomi| Selako    |5
3       | Tromol        | Selako    |7

因此,例如,如果我键入3的"Baskom sedang“金额(超过最大值限制),我想要显示警报。

我知道我应该包括一个我尝试过的javascript /代码,但是我对javascript一无所知,我对javascript并不熟悉。谢谢。。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-20 05:53:56

有三种方法可以解决这个问题:

  • 将最大信息传输到前端
  • 检查用户何时提交
  • 异步数据检查,如Jquery ajax

将最大信息传输到前端

只需将您的最大信息放入一些隐藏区域,并使用javascript获取并检查该信息。

代码语言:javascript
复制
function check(obj){
  var max = obj.getAttribute("data-max");
  if(parseInt(obj.value) > parseInt(max)){
    alert("Amount out of max!");
  }
}
代码语言:javascript
复制
<input name="amount" value="0" data-max="3" onkeyup="check(this);"/>

但是这种方式是不推荐的,应该避免,因为用户可以通过检查源代码来实现存储数据。

检查用户提交的时间

在服务器端用最大值检查金额,这会导致用户体验不良.

异步数据检查

这主要是推荐和使用的,它异步地获取数据。你可以试试jquery

假设服务器端lang是php,则可以创建一个文件checkMax.php

代码语言:javascript
复制
<?
  $amount = $_POST["amount"];
  $item_id = $_POST["item_id "];
  /* get your max data from database using item_id, then assign $max
     ...
  */
  echo $amount > $max ? 1 : 0

然后,您可以通过jquery检查数量。

代码语言:javascript
复制
<input name="amount" class="amount" data-id="1" value="0"/>
$(".amount").change(function(){
  var amount = $(this).val();
  var item_id = $(this).attr("data-id");
  $.post("checkMax.php", {"amount": amount, "item_id": item_id}, function(data){
     if(data == "1")alert("Amount out of Max!");
  });
});
票数 1
EN

Stack Overflow用户

发布于 2015-01-20 05:33:45

这是你要找的吗?Limit numerical values

只需要从数据库中获取值并适当地更改上限。

票数 1
EN

Stack Overflow用户

发布于 2015-01-20 05:34:40

在服务器端很容易进行验证。

逻辑是这样的。

如果用户单击“签出”或“提交”,然后从数据库中获取最大值,然后将其与用户输入进行比较,如果输入大于最大,则显示错误。:D

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28038346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档