我正在寻找一种限制输入量的方法,如下所示:
<?php
$Maximum = 10;
?>
<form action="" method="post">
Quantity: <input type="number" value="0" min="0" max=$Maximum step="0" data-number-to fixed="2" data-number-stepfactor="100" name="Quantity" />
<input type="submit">
</form>
但最大值会根据数据库的不同而变化,因此它可能在1到1000+之间。有没有任何可能的方法可以做到这一点,只是在HTML中进行限制,或者在提交数字后我必须只使用PHP if
语句?
假设您正在从DB中获取$maximum
值。您可以尝试使用maxlength
属性。无需使用JS。如果你想在安全方面,你必须在服务器端用上面提到的If语句进行另一次检查。
试试这个:
<?php $Maximum = 10; ?>
<form action="" method="post">
Quantity: <input type="number" value="0" min="0" maxlength="<?php echo $Maximum; ?>" step="0" data-number-to fixed="2" data-number-stepfactor="100" name="Quantity" />
<input type="submit">
</form>
参考:http://www.w3schools.com/tags/att_input_maxlength.asp
我建议使用jQuery Parsley插件,该插件具有您需要的此功能以及许多其他对表单验证有用的功能。
http://parsleyjs.org/
这里有你需要的例子http://parsleyjs.org/doc/examples/simple.html
此外,您应该使用php进行验证,因为这种方式是在客户端进行的,不安全。
您可以使用JavaScript代码来限制值。在当前代码中,没有限制,不使用$Maximum变量。
您将如何从数据库中接收$Maximum?
根据这些样式类的实现方式,您可以在html代码中打印PHP值,如下所示:
<html> [...] the max value is <?php echo $Maximum; ?> from now on [...] <html>