我有一个简单的问题,但无论我尝试什么,我都看不到让它发挥作用。我在php页面上有一个表单,我需要验证表单上的qty值,以便它不超过$ qty(从mySQL中提取的值)并且不小于零。听起来很简单 - 嗯希望它是......很棒!我检查过这个值是否为数字,并且在我试图完成这项工作时我甚至打破了这个 - 不是一个早上好..大声笑!
这是我的JavaScript Fn的剪辑:
<script type='text/javascript'>
function checkQty(elem){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert("Quantity for RMA must be greater than zero and cannot be more than the original order!");
elem.focus();
return false;
}
}
</script>
从提交按钮onClick:
调用该函数<input type="submit" name="submit" onclick="checkQty(document.getElementById('qty')";">
我试过了:
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression) || elem.value < 0 || elem.value > <? int($qty) ?>){
没有骰子......帮助!?!
答案 0 :(得分:1)
也许尝试查看页面的来源并检查是否打印出$ qty值。
此外,我认为您需要根据原始if语句将or(||)更改为an和(&amp;&amp;),否则将跳过限制检查。
同时回显该变量以将其打印出来。
即
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression) && elem.value < 0 && elem.value > <? echo $qty ?>){
答案 1 :(得分:0)
<input type="submit" name="submit" onclick="return checkQty(document.getElementById('qty'));">
答案 2 :(得分:0)
您只需要将PHP值提供给javascript,例如
<script type='text/javascript'>
function checkQty(elem, max_value){
if(parseInt(elem.value)>0
&& (parseInt(elem.value)<=max_value)){
return true;
}else{
alert("Quantity for RMA must be greater than zero and less than original order!");
elem.focus();
return false;
}
}
</script>
...
<?php
$max_value=(integer)method_of_fetching_max_value();
print "<input type='submit' name='submit'
onclick='checkQty(document.getElementById(\"qty\", $max_value))'>
";
?>
下进行。