我想验证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中的值而变化
答案 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
相同。