Es gibt 3 Möglichkeiten, es zu lösen:
- Maximale Informationen an das Front-End übertragen
- Überprüfen, wann der Benutzer einreicht
- Asynchrone Datenprüfung, wie
Jquery
ajax
Maximale Informationen an das Front-End übertragen
Platzieren Sie einfach Ihre maximalen Informationen in einem versteckten Bereich und verwenden Sie Javascript, um sie abzurufen und zu überprüfen.
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);"/>
Aber dieser Weg wird nicht empfohlen und sollte vermieden werden, da Benutzer Ihre Speicherdaten durch Überprüfen des Quellcodes abrufen können.
Überprüfen, wann der Benutzer einreicht
Überprüfen Sie den Betrag mit dem maximalen Wert auf der Serverseite, was zu einer schlechten Benutzererfahrung führt.
Asynchrone Datenprüfung
Dies wird meistens empfohlen und verwendet, die Daten asynchron erhalten. Sie können jquery
ausprobieren .
Angenommen, Ihre serverseitige Sprache ist php
, können Sie eine Datei checkMax.php
erstellen :
<?
$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
Dann können Sie den Betrag per jquery ajax überprüfen.
<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!");
});
});