сравнить два входных значения в проверке входных данных HTML JavaScript?

0

Я хочу сравнить два входа minimumN и maximumN и отобразить предупреждение, если логика не выполняется, у меня есть следующий код:

HTML:

<table>
    <tr>
        <th>Minimum N</th>
        <td>
            <input id="minN" onkeyup="MinimumNValidate()" type="text" maxlength="50">
        </td>
        <th>Maximum N</th>
        <td>
            <input id="maxN" onkeyup="MaximumNValidate()" type="text" maxlength="50">
        </td>
    </tr>
</table>

Javascript:

function MinimumNValidate() {
    var min = document.getElementById("minN").value;
    var max = document.getElementById("maxN").value;
    if (min > max) {
        alert("Minimum value must be lesser than maximum value.");
    }
}

function MaximumNValidate() {
    var min = document.getElementById("minN").value;
    var max = document.getElementById("maxN").value;
    if (max < min) {
        alert("Maximum value must be greater than minimum value.");
    }
}

но это не работает, и предупреждение отображается, даже если minN меньше maxN, можете ли вы указать на ошибку в моем коде?

Теги:

2 ответа

3
Лучший ответ

Здесь мало

закрыть входные элементы:

if(maxN<min) {

Должно быть

if(max<min) {

Наконец, вы не сравниваете целые числа, а строки так.

5<9
555<9
1000<20

Его "алфавитный"

Вам нужно разобрать их на int.

parseInt(max) and parseInt(min)

...

function MinimumNValidate(){
       var min = parseInt(document.getElementById("minN").value);
       var max = parseInt(document.getElementById("maxN").value);
       if(min > max) {
           alert("Minimum value must be lesser than maximum value. " + min + " > " + max );
       } 
 }    

    function MaximumNValidate(){
       var min = parseInt(document.getElementById("minN").value);
       var max = parseInt(document.getElementById("maxN").value);
       if(max<min) {
           alert("Maximum value must be greater than minimum value."  + min + " > " + max );
       } 
  }
3

Во второй функции MaximumNValidate() у вас есть строка кода

if(maxN<min) {

которые должны быть

if(max<min) {
  • 0
    +1, но чертовски раздражает;) jsfiddle.net/FyAnR (@Sachin, используйте onchange или добавьте еще несколько проверок);
  • 0
    даже после этого я получаю тот же вывод, логика верна?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню