необходимо вернуть True или False на основе, если значение в текстовом поле является определенным номером

StackOverflow https://stackoverflow.com/questions/3415951

Вопрос

Я ищу вернуть true, если пользователь ввел 4 в поле ввода.

function validateAddition() {
  if($("#validateAddition").val() == 4) {
    return true;
  } else {
    return false;
  }
}

<input value="" 
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input" 
type="text" id="validateAddition" name="validateAddition" />

Добавлено это в файл Anglish Language JS:

"validateAddition":{
    "nname":"validateAddition",
    "alertText":"* Your math is off, try again."}

Это должно быть хорошо, дайте мне знать, что вы думаете, неверно.

Это было полезно?

Решение

http://www.w3schools.com/jsref/jsref_parseint.asp.

return (parseInt($('#validateAddition').val()) == 4)

Редактировать: Moogoo правильный, я ошибился, насколько моему объяснению.

Однако идея использования + val, вероятно, не лучшая. Хотя метод выше будет работать, поскольку вам требуется гораздо лучшее решение, следующее:

if(($('#validateAddition').val()-0) == 4)

Причина, по которой мы хотим -0, в отличие от +0, - это просто потому, что если это строка, и вы хотите выполнить любые дополнительные операции, у вас есть, у вас больше нет исходной строки.

Другие советы

Если вы хотите разрешить другим персонажам и возвращать TRUE, только если текст поля ввода содержит 4, вам следует поделать это вместо этого:

if($("#validateAddition").val().indexOf('4') != -1) {

Это будет иметь смысл сравнивать значение строки, поскольку значение является строкой. Это позволяет использовать строгие равны, избегая ненужных автоматических преобразований. Также вы можете упростить функцию.

function validateAddition() {
  return $("#validateAddition").val() === "4";
}

Вы можете поместить вашу проверку в языковой файле, выглядя что-то вроде этого


"validateAddition": {
    "regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
    "alertText": "* Your math is off, try again."
},


Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top