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

数据库示例:
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并不熟悉。谢谢。。
发布于 2015-01-20 05:53:56
有三种方法可以解决这个问题:
Jquery ajax将最大信息传输到前端
只需将您的最大信息放入一些隐藏区域,并使用javascript获取并检查该信息。
function check(obj){
var max = obj.getAttribute("data-max");
if(parseInt(obj.value) > parseInt(max)){
alert("Amount out of max!");
}
}<input name="amount" value="0" data-max="3" onkeyup="check(this);"/>
但是这种方式是不推荐的,应该避免,因为用户可以通过检查源代码来实现存储数据。
检查用户提交的时间
在服务器端用最大值检查金额,这会导致用户体验不良.
异步数据检查
这主要是推荐和使用的,它异步地获取数据。你可以试试jquery。
假设服务器端lang是php,则可以创建一个文件checkMax.php。
<?
$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检查数量。
<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!");
});
});发布于 2015-01-20 05:33:45
这是你要找的吗?Limit numerical values
只需要从数据库中获取值并适当地更改上限。
发布于 2015-01-20 05:34:40
在服务器端很容易进行验证。
逻辑是这样的。
如果用户单击“签出”或“提交”,然后从数据库中获取最大值,然后将其与用户输入进行比较,如果输入大于最大,则显示错误。:D
https://stackoverflow.com/questions/28038346
复制相似问题