Я пытаюсь запустить этот Javascript в своем приложении.проверка на ввод целого числа при нажатии кнопки
function validateQuantity(field)
{
var value = field.value; //get characters
//check that all characters are digits, ., -, or ""
for(var i=0; i < field.value.length; ++i)
{
var new_key = value.charAt(i); //cycle through characters
if(((new_key <= "0") || (new_key > "9")) &&
!(new_key == ""))
{
alert("Please enter number and greater than 0 only");
return false;
break;
}
return true;
}
}
И у меня есть кнопка ввода, как показано ниже
<input class="buttonToLink" type="submit" value="Update"
onclick="return validateQuantity(document.getElementById('quantity'))"/>
Приведенный выше код успешно проверяет ввод всех алфавита, таких как «ABC» или алфавит и цифровой такой как «abcd123» как ложь.
Однако, когда я помещаю числовые символы первым, наряду с алфавитом, таким как «123abc», он терпит неудачу - он не отображает предупреждение.
Что я сделал с кодом, и как его можно исправить?
Во всяком случае, это правильный код ?, потому что он ведет себя очень странно, как будто это не удается, и она работает случайным образом? – eds
По-видимому, он все еще не работает, никто не знает никого? – eds
Если вы переместите 'return true' вне цикла (как последний оператор в функции), это, вероятно, сработает. –