Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证不起作用_Javascript_Jquery_Validation - Fatal编程技术网

Javascript验证不起作用

Javascript验证不起作用,javascript,jquery,validation,Javascript,Jquery,Validation,预算范围的验证在以下代码中不起作用。它在不同的时间点带来不同的结果 <table> <tr> <td> Budget Range </td> <td> <select id="start"> <option value="">---Select---</option>

预算范围的验证在以下代码中不起作用。它在不同的时间点带来不同的结果

<table>
    <tr>
        <td>
            Budget Range
        </td>
        <td>
            <select id="start">
                <option value="">---Select---</option>
                <option value="0">0</option>
                <option value="1000000">10 Lakhs</option>
                <option value="2500000">25 Lakhs</option>
                <option value="5000000">50 Lakhs</option>
                <option value="7500000">75 Lakhs</option>
                <option value="10000000">1 Crore</option>
                <option value="12500000">1 Crore 25 Lakhs</option>
                <option value="15000000">1 Crore 50 Lakhs</option>
                <option value="17500000">1 Crore 75 Lakhs</option>
                <option value="20000000">2 Crore</option>
                <option value="25000000">2 Crore 50 Lakhs</option>
                <option value="30000000">3 Crore</option>
                <option value="35000000">3 Crore 50 Lakhs</option>
                <option value="40000000">4 Crore</option>
                <option value="45000000">4 Crore 50 Lakhs</option>
            </select>
            to
            <select id="end" onchange="selectRange()">
                <option value="0">---Select---</option>
                <option value="1000000">10 Lakhs</option>
                <option value="2500000">25 Lakhs</option>
                <option value="5000000">50 Lakhs</option>
                <option value="7500000">75 Lakhs</option>
                <option value="10000000">1 Crore</option>
                <option value="12500000">1 Crore 25 Lakhs</option>
                <option value="15000000">1 Crore 50 Lakhs</option>
                <option value="17500000">1 Crore 75 Lakhs</option>
                <option value="20000000">2 Crore</option>
                <option value="25000000">2 Crore 50 Lakhs</option>
                <option value="30000000">3 Crore</option>
                <option value="35000000">3 Crore 50 Lakhs</option>
                <option value="40000000">4 Crore</option>
                <option value="45000000">4 Crore 50 Lakhs</option>
            </select>
        </td>
    </tr>
</table>
<script>

    function selectRange() {
        $startRange = document.getElementById('start').value;
        $endRange = document.getElementById('end').value;

        alert($startRange);
        alert($endRange);

        alert($startRange > $endRange);

        if ($startRange > $endRange) {
            alert('The Budget End Should be Greater than Budget Start');
            $endRange = document.getElementById('end').value = 0;
            return false
        }
    }
</script>

预算范围
---挑选---
0
100万
2500万
5000万
7500万
1百万
150万卢布
150万欧元
1亿欧元7500万
2百万
200亿欧元5000万
三百亿
300亿欧元5000万
4百万
400亿欧元5000万
到
---挑选---
100万
2500万
5000万
7500万
1百万
150万卢布
150万欧元
1亿欧元7500万
2百万
200亿欧元5000万
三百亿
300亿欧元5000万
4百万
400亿欧元5000万
函数selectRange(){
$startRange=document.getElementById('start').value;
$endRange=document.getElementById('end')。值;
警报($startRange);
警报($endRange);
警报($startRange>$endRange);
如果($startRange>$endRange){
警报(“预算结束应大于预算开始”);
$endRange=document.getElementById('end')。值=0;
返回错误
}
}

在上述代码中,预算范围的验证不起作用。它会在不同的时间点产生不同的结果。

当您获得值时,这些值会以字符串形式出现,或者您的比较基于字符串值,因此它会产生错误的结果。将它们按数字排列会有所帮助。
<table>
    <tr>
        <td>
            Budget Range
        </td>
        <td>
            <select id="start">
                <option value="">---Select---</option>
                <option value="0">0</option>
                <option value="1000000">10 Lakhs</option>
                <option value="2500000">25 Lakhs</option>
                <option value="5000000">50 Lakhs</option>
                <option value="7500000">75 Lakhs</option>
                <option value="10000000">1 Crore</option>
                <option value="12500000">1 Crore 25 Lakhs</option>
                <option value="15000000">1 Crore 50 Lakhs</option>
                <option value="17500000">1 Crore 75 Lakhs</option>
                <option value="20000000">2 Crore</option>
                <option value="25000000">2 Crore 50 Lakhs</option>
                <option value="30000000">3 Crore</option>
                <option value="35000000">3 Crore 50 Lakhs</option>
                <option value="40000000">4 Crore</option>
                <option value="45000000">4 Crore 50 Lakhs</option>
            </select>
            to
            <select id="end" onchange="selectRange()">
                <option value="0">---Select---</option>
                <option value="1000000">10 Lakhs</option>
                <option value="2500000">25 Lakhs</option>
                <option value="5000000">50 Lakhs</option>
                <option value="7500000">75 Lakhs</option>
                <option value="10000000">1 Crore</option>
                <option value="12500000">1 Crore 25 Lakhs</option>
                <option value="15000000">1 Crore 50 Lakhs</option>
                <option value="17500000">1 Crore 75 Lakhs</option>
                <option value="20000000">2 Crore</option>
                <option value="25000000">2 Crore 50 Lakhs</option>
                <option value="30000000">3 Crore</option>
                <option value="35000000">3 Crore 50 Lakhs</option>
                <option value="40000000">4 Crore</option>
                <option value="45000000">4 Crore 50 Lakhs</option>
            </select>
        </td>
    </tr>
</table>
<script>

    function selectRange() {
        $startRange = document.getElementById('start').value;
        $endRange = document.getElementById('end').value;

        alert($startRange);
        alert($endRange);

        alert($startRange > $endRange);

        if ($startRange > $endRange) {
            alert('The Budget End Should be Greater than Budget Start');
            $endRange = document.getElementById('end').value = 0;
            return false
        }
    }
</script>
只需替换这些代码行

$startRange = document.getElementById('start').value;
$endRange = document.getElementById('end').value;

并使用parseInt函数检查此JSFIDLE


或者使用数字函数检查此项,select元素的
属性在获取时返回字符串。当您比较它们时,它们将按字母顺序进行比较,即
“5000000”>“45000000”
。在使用或之前将它们转换为数字


顺便说一句,JavaScript变量不需要以
$

开头,到底发生了什么?如何调用selectRange?很简单,当预算开始范围大于预算结束范围时,它应该发送一条警报消息,但这不起作用。请详细说明“不同的时间点”。有繁殖的方法吗?公牛眼它的工作非常感谢
$startRange = Number(document.getElementById('start').value);
$endRange = Number(document.getElementById('end').value);
if (+$startRange > +$endRange)