2015-11-24 8 views
-2

В основном я пытаюсь проверить эту страницу с помощью javascript, а затем отправить ее на следующую страницу, но код не работает вообще. Когда все поля заполнены правильно, страница не переходит на следующую страницу. Код проверки также имеет значение. Заполненный по высоте номерами, но он все еще показывает предупреждение, чтобы ввести мою высоту в числах.Почему мой код проверки не работает?

Вот fiddlejs https://jsfiddle.net/aL7q853L/1/

function validation() { 
    var height, weight; 
    height = parseFloat($("#height").val()); 
    weight = parseFloat($("#weight").val()); 

    if (validated(height, weight)) { 
     document.testform.submit(); 
    } 
} 

function validated(height, weight) { 
    if (height == "") { 
     alert("Please enter your height in meters!"); 
     $("#height").focus(); 
     return false; 
    } 
    else if (weight == "") { 
     alert("Please enter your weight in kg!"); 
     $("#weight").focus(); 
     return false; 
    } 
    else if (isNaN(height)) { 
     alert("Height must be a number!"); 
     $("#height").focus(); 
     return false; 
    } 
    else if (isNaN(weight)) { 
     alert("Weight must be a number!"); 
     $("#weight").focus(); 
     return false; 
    } 
    else if (height <= 130) { 
     alert("Height entered must be more than 0 meters!"); 
     $("#rate").focus(); 
     return false; 
    } 
    else if (weight <= 30) { 
     alert("Weight entered must be more than 0kg!"); 
     $("#weight").focus(); 
     return false; 
    } 
    return true; 
} 

А вот тело

<label for="height">Height (In meters)</label> 
<input type="text" name="height" id="height" placeholder="enter height in meters"> 
<label for="weight">Weight</label> 
<input type="text" name="weight" id="weight" placeholder="enter weight in KG"> 
+0

* не работает на всех * Можете ли вы предоставить скрипку, чтобы показать это поведение? atm ваше описание любопытное ... неспецифическое ... –

+2

как вы называете валидацию? –

+0

Вы могли бы предоставить скрипку? – OpuLance

ответ

0

Это прекрасно работает.

<label for="weight">Weight</label> 
<input type="text" onchange="validation()" name="weight" id="weight" placeholder="enter weight in KG"> 



validation = function() { 
    var height, weight; 
    height = parseFloat($("#height").val()); 
    weight = parseFloat($("#weight").val()); 

    if (validated(height, weight)) { 
     document.testform.submit(); 
    } 
} 

function validated(height, weight) { 
    if (height == "") { 
     alert("Please enter your height in meters!"); 
     $("#height").focus(); 
     return false; 
    } else if (weight == "") { 
     alert("Please enter your weight in kg!"); 
     $("#weight").focus(); 
     return false; 
    } else if (isNaN(height)) { 
     alert("Height must be a number!"); 
     $("#height").focus(); 
     return false; 
    } else if (isNaN(weight)) { 
     alert("Weight must be a number!"); 
     $("#weight").focus(); 
     return false; 
    } else if (height <= 130) { 
     alert("Height entered must be more than 0 meters!"); 
     $("#rate").focus(); 
     return false; 
    } else if (weight <= 30) { 
     alert("Weight entered must be more than 0kg!"); 
     $("#weight").focus(); 
     return false; 
    } 
    return true; 
} 
0

добавить

$(function() { 
function validation() { 
      var height, weight; 
      height = parseFloat($("#height").val()); 
      weight = parseFloat($("#weight").val()); 

      if (validated(height, weight)) { 
       document.testform.submit();   
      }   
    } 

в вашем JS скрипт

Смежные вопросы