在 php/javascript 中设置来自数据库的最大输入文本数
Set maximum number input text from database in php/javascript
所以我有一个输入文本,用于确定我购物车中商品的购买金额。每个商品都有不同的最大购买数量,最大购买数量(max)是从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/code,但我对 javascript 没有任何想法,我不擅长 javascript。谢谢..
这会是您要找的吗? Limit numerical values
只需要从数据库中获取值并适当更改上限即可。
服务器端验证很容易。
逻辑是这样的
如果用户点击结帐或提交,然后从数据库中获取最大值,然后将其与用户输入进行比较,如果输入超过最大值则显示错误..:D
有3种方法可以解决:
- 将最大信息传输到前端
- 用户提交时检查
- 异步数据校验,如
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
.
假设你的服务器端语言是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!");
});
});
所以我有一个输入文本,用于确定我购物车中商品的购买金额。每个商品都有不同的最大购买数量,最大购买数量(max)是从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/code,但我对 javascript 没有任何想法,我不擅长 javascript。谢谢..
这会是您要找的吗? Limit numerical values
只需要从数据库中获取值并适当更改上限即可。
服务器端验证很容易。
逻辑是这样的
如果用户点击结帐或提交,然后从数据库中获取最大值,然后将其与用户输入进行比较,如果输入超过最大值则显示错误..:D
有3种方法可以解决:
- 将最大信息传输到前端
- 用户提交时检查
- 异步数据校验,如
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
.
假设你的服务器端语言是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!");
});
});