php输入数字框设置值在限制范围内

时间:2014-03-27 06:02:12

标签: php html

这是我的输入数字框代码。

我希望一个人可以将值设置在1-5之内,也就是说只有选项可以设置1-5的值。

我怎么能这样做?

这意味着如果我在框中输入一些数字,我必须将1,2,3,4,5。不能在框中输入其他值

echo '<td><input type="number" name = "name[]" ></td>';

这是表格:

function do_query($conn, $query)
    {
            $stid = oci_parse($conn, $query);
            $r = oci_execute($stid,OCI_DEFAULT);
            print '<table border="1">';
            print '<tr>';
            print '<td>Rest_Table_ID<td>No_Of_Chair<td>Room_no<td>selected_table<td>time_category<td>Request_Date';
            while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) 
            {
                print '<tr>';
                $num=1;
                $val="";
                foreach($row as $item) 
                {
                    if($num==1)
                    { 
                       $val = $item;
                       $num=2;
                    }
                    print '<td>'.($item!== null ? htmlentities($item) : '&nbsp;').'</td>';
                }

                echo '<td><input type="checkbox" name = "invite[]" value= '.$val.' ></td>';
                echo '<td><input type="number" name = "name[]" ></td>';
                echo '<td><input type="text" name = "date[]" ></td>';
                print '</tr>';
            }
            print '</table>';
    } 

我该怎么做?

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

echo '<td><input type="number" name = "name[]" min="1" max="5" /></td>';

或者您可以添加模式

echo '<td><input type="number" name = "name[]" pattern="[0-5]{1}" title="Please only type numbers from 1 to 5." /></td>';

{1}将长度限制为1,[0-5]将限制模式。

但我不确定浏览器兼容性。作为故障保护,你应该在服务器端验证它。

答案 1 :(得分:0)

您可以通过javascript使用客户端验证。它将减少服务器中不必要的请求。  之后,您可以在服务器中进行验证。

在服务器端(在php中):

获取您的值并检查该值是大于等于1且小于等于5.

$value=$_REQUEST['input_name'];

if( is_int($value) && (1 <= $value) && ($value <= 5) {
 //valid
}
else {

//invalid
}