所以我有一个输入文字,用于确定购物车中商品的购买金额。每个项目具有不同的最大购买量,最大购买数量(最大)是从mysql数据库获得的。我想如果用户输入的项目数超过最大限制,则会出现警告。
购物图表和金额:
数据库示例:
id_item | item | brands | max
- - - - - - - - - - - - - - - - - - - - - - -
1 | Baskom Sedang | Lion Star |2
2 | Pinset Anatomi| Selako |5
3 | Tromol | Selako |7
例如,如果我在" Baskom sedang"中键入3金额(超过最大限额),我希望警告出现。
我知道我应该包含我尝试的javascript /代码,但我对javascript一无所知,我对javascript不太满意。谢谢..
答案 0 :(得分:1)
这可能是你想要的吗? Limit numerical values
只需要从数据库中获取值并相应地更改上限。
答案 1 :(得分:1)
很容易通过服务器端进行验证。
逻辑是这样的。
如果用户点击结帐或提交,则从数据库获取最大值,然后将其与用户输入进行比较,如果输入超过最大值则显示错误..:D
答案 2 :(得分:1)
有三种方法可以解决它:
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);"/>
&#13;
但这种方式不推荐,应该避免,因为用户可以通过检查源代码来实现您的仓库数据。
检查用户提交时间
检查服务器端的最大值,这会导致用户体验不佳。
异步数据检查
这是最常推荐和使用的,它以异步方式获取数据。您可以尝试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 ajax检查金额。
<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!");
});
});