根据隐藏文本框检查最小最大数量

时间:2017-01-14 07:14:03

标签: javascript php mysql

我想验证textbox1中的值,如果它超过了页面中隐藏的textbox2中的值。

我最初制作的代码会检查静态最大值100,但最大值是动态的,取决于textbox2中的值

我的PHP / MYSQL代码:

$sql_stmt = "SELECT user_val, max_val from table1";
$result = mysqli_query($link, $sql_stmt);

while($row=mysqli_fetch_array($result))
{

/** JS for validating input in textbox1 **/
echo "<script>";
echo "function minmax(value, min, max) 
{
if(parseInt(value) < min || isNaN(parseInt(value))) 
return 0; 
else if(parseInt(value) > max) 
return 0; 
else return value;
}
";
echo "</script>";

/*** Textbox1 ***/
echo "<input type='text' onkeyup='this.value = minmax(this.value, 0, 100)' />";

/*** Textbox2 ***/
echo "<input type='hidden' value=".$row['max_val']." />";

}

代码目前限制为最大值100,我希望它根据textbox2中的值而变化

1 个答案:

答案 0 :(得分:1)

id属性添加到隐藏文本框中:

echo "<input id='maximumTextBox' type='hidden' value=".$row['max_val']." />";

然后无需将maximum值传递给minmax,您可以回复此函数而不是函数:

function minmax(value, min)
{
    // get the maximum value from the hidden textbox using the id above.
    var max = parseInt(document.getElementById('maximumTextBox').value);

    value = parseInt(value);
    if(isNaN(value) || value < min || value > max) 
        return 0; 
    else
        return value;
}

假设min是静态的。如果您想动态加载min,则可以与max相同。